向上滚动页面到selenium顶部

时间:2016-04-15 12:56:35

标签: selenium selenium-webdriver

如何将网页滚动到页面顶部。

我知道将页面滚动到底部是:

window.scrollTo(0,document.body.scrollHeight)

就像那样可以将页面滚动到顶部

6 个答案:

答案 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);