如何用硒滚动页面

Posted

技术标签:

【中文标题】如何用硒滚动页面【英文标题】:How to scroll page with selenium 【发布时间】:2012-01-16 00:30:45 【问题描述】:

我正在使用 FirefoxDriver 网络驱动程序。在 Firefox 窗口中加载的页面是一个大页面,我想使用 selenium 滚动该页面。

我想知道如何做到这一点。

【问题讨论】:

您应该聚焦到所需的项目,selenium 2 将负责找到它。看看这个 SO 帖子***.com/questions/3401343/… 我假设您想要使用 Selenium API,这里是使用 Selenium API 滚动页面的链接。 Scroll Page driver.execute_script(f"window.scrollTo(0, 2**127);") 【参考方案1】:

如果你想使用selenium webdriver在firefox窗口上滚动,其中一种方法是在java代码中使用javascript,向下滚动的javeScript代码如下:

WebDriver driver = new FirefoxDriver();
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("window.scrollTo(0,Math.max(document.documentElement.scrollHeight," + "document.body.scrollHeight,document.documentElement.clientHeight));");

【讨论】:

【参考方案2】:
page.driver.browser.mouse.move_to( find("element").native,100,100)

【讨论】:

【参考方案3】:

使用此代码向下滚动单页

Actions actions = new Actions(driver);
actions.sendKeys(Keys.BACK_SPACE).perform();

【讨论】:

您确定要发送的密钥正确吗?似乎是按backspace 键,不会滚动页面。 Page Down 键? 亲爱的#facepalm【参考方案4】:

我认为你应该做类似的事情

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

祝你好运。

【讨论】:

以上是关于如何用硒滚动页面的主要内容,如果未能解决你的问题,请参考以下文章

如何使用硒滚动到页面末尾? [复制]

如何用jquery实现页面滚动到指定位置后触发事件的效果?

如何用jquery实现页面滚动到指定位置后触发事件的效果

如何用js控制网页刷新后滚动条保持在原来的位置

[使用Java硒测试HTML代码

如何用背景颜色填充可见页面的其余部分?