【发布时间】:2018-06-11 11:51:43
【问题描述】:
我有这个项目,我需要使用一个站点从中获取数据。 所以事情是:使用htmlunit我用我的数据填充文本框,然后我按下使用ajax的锚点下载我需要的内容并动态更改HTML页面,在模式窗口中显示内容。但是在我在锚点上使用 .click() 之后,我得到了相同的页面,没有更新,在四处寻找解决方案后,我在网上找到了这个:
HtmlUnit 将执行 Ajax 调用并更新页面。只是 请注意,与常规页面加载不同,click() 调用不会 等待 Ajax 请求完成。它将进行到 下一行代码。
这是我的代码:
final HtmlPage page = webClient.getPage("myUrl");
System.out.println(page.asXml());
final HtmlForm form = page.getFirstByXPath("//form[@action='myFormAction']");
final HtmlTextInput input = form.getInputByName("url");
input.setText(vacancyURL);
List<HtmlAnchor> anchors = page.getAnchors();
HtmlAnchor link = null;
for (HtmlAnchor anchor : anchors) {
String str = anchor.asText();
if (anchor.asText().equals("Start"))
link = anchor;
}
HtmlPage page2 = link.click(); //I think this is a problem
任何想法如何单击锚点并等待 ajax 接收响应,并用数据填充页面(在浏览器上一切正常)?我真的需要帮助,有什么想法吗?
【问题讨论】: