如何使用selenium在web中使用java脚本执行器在视口中垂直居中滚动元素

时间:2017-10-04 13:24:15

标签: javascript selenium

我正在使用selenium-web驱动程序,最近在尝试单击浏览器上的某些元素时停止了。当尝试单击一个超出视图端口的元素时,页面会滚动并将元素放在顶部我正在寻找使用java脚本执行脚本将元素滚动到视口的中心。

3 个答案:

答案 0 :(得分:0)

尝试一下

(`(JavascriptExecutor)driver).executeScript("arguments[0].scrollIntoView({block: \"center\"});", element);`

答案 1 :(得分:-1)

您可以使用Javascript执行程序滚动页面试试这个:

 JavascriptExecutor js = (JavascriptExecutor)BrowserUtilities.driver;

从上到下:

js.executeScript("window.scrollBy(0,200)", ""); 

从左到右:

js.executeScript("window.scrollBy(200,0)", "");

答案 2 :(得分:-1)

对于全身滚动,试试这个:

((JavascriptExecutor) driver)
     .executeScript("window.scrollTo(0, document.body.scrollHeight)");

滚动到spcfic元素试试这个:

WebElement element = driver.findElement(By.id("your Locator"));
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView();", element);

滚动到特定坐标

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