【发布时间】:2017-01-08 08:39:30
【问题描述】:
我正在尝试从以下网站获取所有图片:http://web.archive.org/web/20160110012916/http://habibemaia.com/。我可以通过收集所有“src”标签并从那里下载来获得几乎所有内容,但是主图片存在问题,该图片由javascript更改,无论是定时还是点击事件。我这样设置我的网络客户端:
webClient.getOptions().setCssEnabled(true);
webClient.getOptions().setJavaScriptEnabled(true);
webClient.waitForBackgroundJavaScript(15000);
webClient.waitForBackgroundJavaScriptStartingBefore(5000);
webClient.setAjaxController(new NicelyResynchronizingAjaxController());
webClient.getOptions().setUseInsecureSSL(true);
得到 div 后,我尝试像这样使用 click:
HtmlPage newPage = div.click();
DomNodeList<DomElement> newImages = newPage.getElementsByTagName("img");
for (DomElement img : newImages) {
if (img.hasAttribute("src")) {
newImagesStrings.add(img.getAttribute("src"));
System.out.println("Image added: "+img.getAttribute("src"));
}
}
如果我在浏览器中单击此 div,则会出现一个新图像。不幸的是,此代码不会触发更改图像的 javascript。我试过使用
webClient.waitForBackgroundJavaScript(3000);
在 click() 之后,正如其他地方所建议的那样,但没有运气。页面没有变化。现在我完全没有想法了。感谢您的帮助。
【问题讨论】:
标签: javascript java htmlunit