如何将网页滚动到页面顶部。
我知道将页面滚动到底部是:
window.scrollTo(0,document.body.scrollHeight)
就像那样可以将页面滚动到顶部
答案 0 :(得分:16)
要滚动到页面顶部,只需滚动到0, 0
:
window.scrollTo(0, 0);
或者,作为替代选项,您可以header
元素的scroll into view(或顶部的其他元素):
WebElement element = driver.findElement(By.tagName("header"));
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("arguments[0].scrollIntoView();", element);
答案 1 :(得分:2)
使用动作类,因为某些UI框架无法与JavaScript scrollTO配合使用
actions.sendKeys(keys.Home).build().perform();
actions.sendKeys(keys.END).build().perform();
答案 2 :(得分:1)
是的,你可以尝试如下
方式一 - 滚动到页面底部
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)");
答案 3 :(得分:1)
要滚动到页面顶部
((JavascriptExecutor) driver).executeScript("window.scrollTo(document.body.scrollHeight, 0)");
滚动到页面结尾
((JavascriptExecutor) driver).executeScript("window.scrollTo(0,document.body.scrollHeight)");
答案 4 :(得分:0)
此解决方案也可以正常使用,我已经对其进行了检查:
((JavascriptExecutor) driver)
.executeScript("window.scrollTo(0, -document.body.scrollHeight)");
答案 5 :(得分:0)
顶部的简单方法:webDriver.FindElement(By.TagName("body")).SendKeys(Keys.Home);
底部:webDriver.FindElement(By.TagName("body")).SendKeys(Keys.End);