简体   繁体   English

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

[英]Selenium-webdriver/Javascript: How do I scroll through a page?

I'm using the Javascript API to selenium-webdriver and I would like to scroll/move down through a page slowly to allow for visual inspection. 我正在将Javascript API用于selenium-webdriver,我想缓慢滚动/向下滚动页面以进行视觉检查。

I know the following will jump me to a link at the end of my page: 我知道以下内容将使我跳到页面结尾的链接:

  return driver.findElement({linkText: 'All rights reserved'}).click()

However, I'd like to review the stuff in between, as I watch selenium do its thing. 但是,我想回顾一下介于两者之间的内容,因为我看到了硒的作用。

Is it possible to scroll incrementally through a page? 是否可以逐步滚动浏览页面? (eg 10%, 20%, 30% etc.). (例如10%,20%,30%等)。 Or is there another technique to effectively do a "slow scroll"? 还是有另一种技术可以有效地进行“慢滚动”?

This can be achieved in two ways- 1.Scroll the page in slow motion- you can change time in Thread.sleep as per requirement. 这可以通过两种方式实现: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.Scroll to element position before performing operation on it- 2.滚动到元素位置,然后对其执行操作-

Point p = driver.findElement(By.xpath("Value")).getLocation();//get element position
((JavascriptExecutor)driver).executeScript("window.scrollBy(0,"+(p.getY())+");");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 JavaScript - selenium-webdriver - 找不到滚动方法 - JavaScript - selenium-webdriver - can't find a scroll method 如何在 Selenium (selenium-webdriver) JavaScript 中使用 Chrome 配置文件 - How to use Chrome profile in Selenium (selenium-webdriver) JavaScript 如何通过 Selenium 和 WebDriver 等待 JavaScript __doPostBack 调用 - How do I wait for a JavaScript __doPostBack call through Selenium and WebDriver 如果尚未全局安装selenium-webdriver,如何更新? - How do I update selenium-webdriver if I haven't installed it globally? selenium-webdriver:如何在javascript中使用driver.quit() - selenium-webdriver: how to use driver.quit() in javascript Selenium-WebDriver 如何使用 javascript 和 firefox 浏览器突出显示元素 - Selenium-WebDriver how to highlight element using javascript and firefox browser 如何使用带有JavaScript的Selenium-WebDriver选择所有复选框 - How to select all checkboxes with Selenium-WebDriver with javascript 如何通过 selenium-webdriver javascript API 设置“debuggerAddress”chromeOption? - How to set "debuggerAddress" chromeOption via selenium-webdriver javascript API? 如何在 Chrome 中使用 Selenium-Webdriver for JavaScript 接受不安全的证书? - How to accept insecure certificates in Chrome using Selenium-Webdriver for JavaScript? 如何让 selenium-webdriver 忽略 Firefox 和 PhantomJS 中的 SSL 错误? - How do I get selenium-webdriver to ignore SSL errors in Firefox and PhantomJS?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM