5

任何人都可以帮助我使用Java使用WebDriver自动向下滚动功能吗?

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

4

4 回答 4

12

滚动到页面的元素:

((JavascriptExecutor)driver).executeScript("arguments[0].scrollIntoView();"
                                                              ,webElement);
于 2013-04-26T14:39:59.373 回答
11

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

((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)", "");
于 2012-07-19T05:52:32.817 回答
2

向上滚动应该如下:

((JavascriptExecutor) driver).executeScript("scroll(0,-250);");
于 2013-09-24T23:24:51.223 回答
0

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

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

这将自动转到页面的最下方。你可以在这里看到一个例子。

于 2017-03-01T18:41:13.520 回答