我尝试过
((JavascriptExecutor) driver).executeScript("windows.scrollBy(0,500)");
和
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView();", element);
和
WebElement lastElement = driver.findElement(By.xpath("value of locator"));
int y = lastElement.getLocation().getY();
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("window.scrollTo(0,"+y+")");
Thread.sleep(3000);
我的窗口的滚动条向下移动,但是我想滚动我的应用程序的滚动条。
在单击o设置后,如所附图像中所示,它正在打开其他选项,我必须滚动查看以下选项
答案 0 :(得分:1)
根据您的代码试用,我认为您非常接近。您需要先诱使 WebDriverWait 使所需的元素可见,然后使用executeScript()
方法对scrollIntoView
进行如下操作:
WebElement lastElement = new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("xpath_of_the_desired_element"))).click();
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);",element);
答案 1 :(得分:0)
这就是我滚动到DOM元素的方式(使用jquery,告诉我是否需要香草):
$('#elementToScroll').animate({
scrollTop: $("#scrollToThisElement").offset().top - $(window).height() / 2
}, 0);
此代码将.scrollToThisElement垂直居中