我正在使用Javascript API来访问selenium-webdriver,我想在页面中慢慢滚动/向下移动以允许进行目视检查。
我知道以下内容会让我跳到页面末尾的链接:
return driver.findElement({linkText: 'All rights reserved'}).click()
然而,我想回顾一下之间的内容,因为我看硒做了它。
是否可以逐页滚动页面? (例如10%,20%,30%等)。或者是否有另一种技术可以有效地进行“慢速滚动”?
答案 0 :(得分:0)
这可以通过两种方式实现 - 1.以慢动作滚动页面 - 您可以根据需要在Thread.sleep中更改时间。
JavascriptExecutor js = (JavascriptExecutor)driver;
for (int i = 0;; i++)
{
if(i >=60)
{
break;
}
js.executeScript("window.scrollBy(0,800)", ""); //800 is Y coordinate. This can be changed
Thread.sleep(3000);
}
2.在对其执行操作之前滚动到元素位置 -
Point p = driver.findElement(By.xpath("Value")).getLocation();//get element position
((JavascriptExecutor)driver).executeScript("window.scrollBy(0,"+(p.getY())+");");