【问题标题】:HtmlUnit javascript eventHtmlUnit javascript 事件
【发布时间】:2020-12-29 18:29:01
【问题描述】:

我在 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


    【解决方案1】:

    由于 HtmlUnit 是一个无头浏览器,滚动支持仍然很弱。请在 gitub 上打开一个关于此的问题(包括示例代码),如果可能,我将尝试改进支持。

    【讨论】:

    • 那么没有办法只在滚动后加载数据?
    • 不确定,我需要一个可重现的样本来对此进行更多分析。
    猜你喜欢
    • 1970-01-01
    • 2015-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多