HtmlUnit javascript event



我成功地在SITE上使用HtmlUnit登录,运行表单搜索,得到了一个包含结果的页面。现在在现实世界中,为了得到整个页面的结果,我需要滚动页面更多次。但我正在使用HtmlUnit,然后我做了:

List<DIV> res=page.getByXPath(...) // got 13 items
ScriptResult res=page.executeJavaScript("window.scrollBy (0,2000);");
res=page.getByXPath(...) // would get other items,same query as the first

问题是,在页面上的查询中,在上面的代码返回与运行JS之前相同的项之后,XPath查询返回相同的结果项。相反,在浏览器上,滚动效果很好,并返回结果项的seconf序列。那么,HtmlUnit不是为此而设计的吗?虫子?或者还有另一个HtmlUnit技巧?

我也试过

ScriptResult res =page.getBody().fireEvent("scroll");

感谢

由于HtmlUnit是一个无头浏览器,滚动支持仍然很弱。请在gitub上打开一个关于这方面的问题(包括示例代码(,如果可能的话,我会努力改进支持。

最新更新