有没有人知道如何使用HTML Unit驱动程序滚动页面? 请告诉我最新的方法是向下滚动页面,直到使用HTML单元驱动程序加载最后一个元素?
我已经在HTML单元驱动程序中尝试了所有这些可能性,但看起来在页面向下滚动时实际上没有任何内容加载页面。基本上,页面根本没有向下滚动...
成功登录后,我正在尝试向下滚动页面,直到最后一个元素并获取页面源。
代码:
htmlUnitdriver.setJavascriptEnabled(true);
//htmlUnitdriver.executeScript("scroll(0,300);");
//htmlUnitdriver.executeScript("window.scrollTo(0, document.body.scrollHeight);");
//htmlUnitdriver.executeScript("window.scrollBy(0,3000)", "");
//((JavascriptExecutor) htmlUnitdriver).executeScript("window.scrollBy(0,20000)", "");
希望有人能帮助我...
答案 0 :(得分:1)
我还想知道Selenium HtmlUnitDriver是否提供了向下滚动页面的任何工具,即使实际页面没有在浏览器中呈现。 只有可以滚动页面,我才能在页面上获取新记录。 如果您能找到解决方案,请分享。
答案 1 :(得分:1)
我也尝试使用HtmlUnitDriver滚动网页,代码如下:
jse = (JavascriptExecutor)wd;
//((JavascriptExecutor)wd).executeScript("window.scroll(0, 250));");
log.info("Scrolling... ");
//jse.executeScript("window.scroll(0,Math.max(document.documentElement.scrollHeight,document.body.scrollHeight,document.documentElement.clientHeight));");
//jse.executeScript("window.scrollTo(0, Math.max(document.documentElement.scrollHeight,document.body.scrollHeight,document.documentElement.clientHeight));");
//jse.executeScript("window.scrollTo(0, Math.max(document.body.scrollHeight, document.body.offsetHeight, document.documentElement.clientHeight, document.documentElement.scrollHeight, document.documentElement.offsetHeight));");
//jse.executeScript("window.scrollBy(0,3000)", "");
wd.executeScript("window.scrollBy(0,3000)", new Object[] { "" });
但是上述任何代码段都没有成功(通过取消注释每个代码片段)。
对于我的要求,滚动非常重要。
刚刚得到一些与PhantomJS不同的信息,HtmlUnitDriver对JavaScript没有足够的支持。