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

使用java在Selenium WebDriver中垂直向下和向上滚动,java,scroll,selenium-webdriver,webdriver,Java,Scroll,Selenium Webdriver,Webdriver,有谁能帮助我使用Java通过WebDriver自动化下滚功能 在我的例子中,当我垂直向下滚动鼠标时,“登录”将显示(可见)。您可以使用以下代码垂直向下滚动: ((JavascriptExecutor) driver).executeScript("scroll(0,250);"); 同样,也可以通过将y坐标更改为负值来向上滚动: ((JavascriptExecutor) driver).executeScript("scroll(0, -250);"); 您还可以使用以下代码: 用于向下滚

有谁能帮助我使用Java通过WebDriver自动化下滚功能


在我的例子中,当我垂直向下滚动鼠标时,“登录”将显示(可见)。

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

((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)", "");
((JavascriptExecutor)driver).executeScript("arguments[0].scrollIntoView();"
                                                              ,webElement);
用于向上滚动:

((JavascriptExecutor) driver).executeScript("window.scrollBy(0,250)", "");
((JavascriptExecutor) driver).executeScript("window.scrollBy(0, -250)", "");
((JavascriptExecutor)driver).executeScript("arguments[0].scrollIntoView();"
                                                              ,webElement);

滚动到页面的某个元素:

((JavascriptExecutor) driver).executeScript("window.scrollBy(0,250)", "");
((JavascriptExecutor) driver).executeScript("window.scrollBy(0, -250)", "");
((JavascriptExecutor)driver).executeScript("arguments[0].scrollIntoView();"
                                                              ,webElement);

向上滚动应如下所示:

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

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

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

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

太棒了,这很有效。我已经试了好几个小时了,但是在拍摄截图之前,其他的方法都不适用于聚焦一个元素。Caren是对的。无需更改x坐标。y坐标应该是负数才能向上滚动。如何知道滚动何时完成?为了使任何元素的可见性有时需要滚动。例如,您要单击位于页面底部的元素。在这种情况下,它需要向下滚动。单击成功时,表示滚动已完成,底部的链接可见。