2017-08-16 58 views
0

我使用java来抓取网页。如何在通过代码设置输入值后获取HtmlPage对象。 (java webparser)

我在我的项目中导入了com.gargoylesoftware.html单元,我可以获得网页。

在网页上有一个输入。当我在输入中输入关键词并按下“Enter”键时,网页的一部分将被刷新。没有提交按钮。那么如何才能在我的java代码中获取刷新的网页?

这里是我的代码:

client.getOptions().setJavaScriptEnabled(true); 
client.getOptions().setRedirectEnabled(true); 
client.setAjaxController(new NicelyResynchronizingAjaxController()); 

HtmlPage page = client.getPage(url); 
HtmlInput termInput = (HtmlInput) page.getByXPath("/html/body/div[2]/div/main/section/div/div/div/div/div[1]/div/div[2]/input").get(0); 
termInput.setAttribute("value", "Annual Report"); 
saveFile(this.getFilePath(""), page.asXml()); 

我的网页保存在我的电脑中的文件。我可以在浏览器中打开它。我可以看到我在输入中设置的值,但内容不刷新。

没有提交按钮。

回答

0

为了通过按回车来刷新页面,您需要输入转义序列以进入输入。

termInput.type("\n"); 

你可以输入\ n到像这样的输入做到这一点