【发布时间】:2016-04-15 12:56:35
【问题描述】:
如何将网页滚动到页面顶部。
我知道将页面滚动到底部是:
window.scrollTo(0,document.body.scrollHeight)
这样就可以将页面滚动到顶部
【问题讨论】:
标签: selenium selenium-webdriver
如何将网页滚动到页面顶部。
我知道将页面滚动到底部是:
window.scrollTo(0,document.body.scrollHeight)
这样就可以将页面滚动到顶部
【问题讨论】:
标签: selenium selenium-webdriver
要滚动到页面顶部,只需滚动到0, 0:
window.scrollTo(0, 0);
或者,作为替代选项,您可以 scroll into view 的 header 元素(或顶部的其他元素):
WebElement element = driver.findElement(By.tagName("header"));
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("arguments[0].scrollIntoView();", element);
【讨论】:
使用动作类,因为某些 UI 框架不能很好地与 JavaScript scrollTO 配合使用
actions.sendKeys(keys.Home).build().perform();
actions.sendKeys(keys.END).build().perform();
【讨论】:
这个解决方案也可以正常工作,我已经检查过了:
((JavascriptExecutor) driver)
.executeScript("window.scrollTo(0, -document.body.scrollHeight)");
【讨论】:
顶部的简单方法:webDriver.FindElement(By.TagName("body")).SendKeys(Keys.Home);
底部:webDriver.FindElement(By.TagName("body")).SendKeys(Keys.End);
【讨论】:
滚动到页面顶部
((JavascriptExecutor) driver).executeScript("window.scrollTo(document.body.scrollHeight, 0)");
滚动到页面末尾
((JavascriptExecutor) driver).executeScript("window.scrollTo(0,document.body.scrollHeight)");
【讨论】:
是的,你可以尝试如下
方式一 - 滚动到页面底部
driver.navigate().to(URL);
((JavascriptExecutor) driver)
.executeScript("window.scrollTo(0, document.body.scrollHeight)");
方式二 - 滚动到页面上的元素
driver.navigate().to(URL);
WebElement element = driver.findElement(By.id("id"));
((JavascriptExecutor) driver).executeScript(
"arguments[0].scrollIntoView();", element);
方式 3 - 按坐标滚动
driver.navigate().to(URL);
((JavascriptExecutor) driver).executeScript("window.scrollBy(0,500)");
【讨论】: