垂直向下滚动并使用java在Selenium WebDriver中向上滚动

时间:2012-07-19 05:19:23

标签: java scroll selenium-webdriver webdriver

有人可以帮助我使用 Java WebDriver 自动执行向下滚动功能吗?

就我而言,一旦我垂直向下滚动鼠标,就会显示雅虎邮件"Sign In"可见)。

4 个答案:

答案 0 :(得分:9)

滚动到某个页面元素:

((JavascriptExecutor)driver).executeScript("arguments[0].scrollIntoView();"
                                                              ,webElement);

答案 1 :(得分:7)

您可以使用以下代码垂直向下滚动:

((JavascriptExecutor) driver).executeScript("scroll(0,250);");

同样,也可以通过将y坐标更改为负数来向上滚动:

((JavascriptExecutor) driver).executeScript("scroll(0, -250);");

您还可以使用以下代码: 向下滚动:

((JavascriptExecutor) driver).executeScript("window.scrollBy(0,250)", "");

向上滚动:

((JavascriptExecutor) driver).executeScript("window.scrollBy(0, -250)", "");

答案 2 :(得分:2)

向上滚动应如下所示:

((JavascriptExecutor) driver).executeScript("scroll(0,-250);");

答案 3 :(得分:0)

如果您不确定页面的高度,并且您要向下滚动到页面的下方,您可以找到该页面的主框架并使用以下代码向下滚动而不使用滚动或滚动

scr1 = driver.find_element_by_xpath('xpath')
driver.execute_script("arguments[0].scrollTop = arguments[0].scrollHeight", scr1)

这将自动转到页面的最左侧。您可以看到示例here