我需要使用滚动条自动向下滚动。 This is what the scroll bar looks like. 这是滚动条的html代码:
<div class="z-biglistbox-wscroll-vertical">
<div class="z-biglistbox-wscroll-drag" style="top: 132.253px;">
<div class="z-biglistbox-wscroll-home" title="Home"></div>
<div class="z-biglistbox-wscroll-up" title="Previous"></div>
<div class="z-biglistbox-wscroll-down" title="Next"></div>
<div class="z-biglistbox-wscroll-end" title="End"></div>
</div>
</div>
我想也许点击&#34;下一步&#34;滚动条的按钮,但我的代码不起作用。我做了类似以下的事情:
((JavascriptExecutor)driver).executeScript("arguments[0].click();", scroll_down);
WebElement scroll_down = driver.findElement(By.cssSelector(".z-biglistbox-wscroll-down"));
scroll_down.click();
两者都没有奏效。任何人都可以告诉我如何做到这一点?
更新: 这个问题已经解决了。请参阅this link中的 alecxe 答案,了解适用于我的解决方案。
答案 0 :(得分:0)
您可以直接使用javascriptexecutor进行滚动。下面的代码可能会给你一些想法。
案例1:向上滚动到某个元素,以便显示预期的元素
JavascriptExecutor je = (JavascriptExecutor) driver;
//Identify the WebElement which will appear after scrolling down
WebElement element = driver.findElement(By.xpath(".//*[@id='mCSB_3_container']/p[3]"));
// now execute query which actually will scroll until that element is not appeared on page.
je.executeScript("arguments[0].scrollIntoView(true);",element);
案例2 :向上滚动到某个元素
((JavascriptExecutor)driver).executeScript("scroll(0,400)");
希望这会对你有所帮助。感谢。
答案 1 :(得分:0)
WebElement element = driver.findElement(By.className("z-biglistbox-wscroll-down"));
element.click();
您可以使用它,但它只会在向下滚动元素中单击一次。
答案 2 :(得分:0)
尝试以下代码将窗口滚动到底部:
WebDriver driver = new FirefoxDriver();
JavascriptExecutor jse = (JavascriptExecutor)driver;
JavascriptExecutor jsx = (JavascriptExecutor) driver;
jsx.executeScript("window.scrollBy(0,500)", "");