Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium webdriver/Javascript:如何滚动页面?_Javascript_Selenium Webdriver - Fatal编程技术网

Selenium webdriver/Javascript:如何滚动页面?

Selenium webdriver/Javascript:如何滚动页面?,javascript,selenium-webdriver,Javascript,Selenium Webdriver,我正在使用Javascript API来selenium webdriver,我想慢慢地滚动/向下移动页面,以便进行视觉检查 我知道以下内容将使我跳转到页面末尾的链接: return driver.findElement({linkText: 'All rights reserved'}).click() 然而,我想回顾一下中间的内容,因为我看到selenium在做它的事情 是否可以增量滚动浏览页面?(例如10%、20%、30%等)。或者有没有其他技术可以有效地进行“慢速滚动”?这可以通过

我正在使用Javascript API来selenium webdriver,我想慢慢地滚动/向下移动页面,以便进行视觉检查

我知道以下内容将使我跳转到页面末尾的链接:

  return driver.findElement({linkText: 'All rights reserved'}).click()
然而,我想回顾一下中间的内容,因为我看到selenium在做它的事情


是否可以增量滚动浏览页面?(例如10%、20%、30%等)。或者有没有其他技术可以有效地进行“慢速滚动”?

这可以通过两种方式实现- 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())+");");

谢谢现在我要用Javascript来解决这个问题!;-)