我按代码设置输入值后如何获取HtmlPage对象。 (java webparser)

时间:2017-08-16 03:13:56

标签: java input htmlunit

我使用java抓取网页。

我在我的项目中导入了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());

我将网页保存为计算机中的文件。我可以在浏览器中打开它。我可以看到我在输入中设置的值,但内容未刷新。

没有提交按钮。

1 个答案:

答案 0 :(得分:0)

要按Enter键刷新页面,您需要输入转义序列以输入输入。

您可以通过在输入中键入\ n来执行此操作:

termInput.type("\n");