scroll up the page to the top in selenium

2020-08-11 19:45发布

How to scroll the webpage to the top of the page.

I know scrolling the page to the bottom is:

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

just like that is it possible to scroll the page to the top

6条回答
劫难
2楼-- · 2020-08-11 20:12

This solution also works correctly, I've checked it:

((JavascriptExecutor) driver)
    .executeScript("window.scrollTo(0, -document.body.scrollHeight)");
查看更多
够拽才男人
3楼-- · 2020-08-11 20:12

simple way for the top :webDriver.FindElement(By.TagName("body")).SendKeys(Keys.Home); and for the bottom: webDriver.FindElement(By.TagName("body")).SendKeys(Keys.End);

查看更多
Animai°情兽
4楼-- · 2020-08-11 20:17

yes you can try as below

Way one - Scrolling to bottom of a page

driver.navigate().to(URL);
((JavascriptExecutor) driver)
.executeScript("window.scrollTo(0, document.body.scrollHeight)");

Way two - Scrolling to an element on a page

driver.navigate().to(URL);
WebElement element = driver.findElement(By.id("id"));
        ((JavascriptExecutor) driver).executeScript(
                "arguments[0].scrollIntoView();", element);

Way 3 -Scrolling by coordinates

 driver.navigate().to(URL);
    ((JavascriptExecutor) driver).executeScript("window.scrollBy(0,500)");
查看更多
smile是对你的礼貌
5楼-- · 2020-08-11 20:24

To scroll to the top of the page, just scroll to the 0, 0:

window.scrollTo(0, 0);

Or, as an alternative option, you can scroll into view of the header element (or some other element on top):

WebElement element = driver.findElement(By.tagName("header"));

JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("arguments[0].scrollIntoView();", element); 
查看更多
你好瞎i
6楼-- · 2020-08-11 20:24

To scroll to the top of the page

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

To scroll to the end of the page

((JavascriptExecutor) driver).executeScript("window.scrollTo(0,document.body.scrollHeight)");
查看更多
在下西门庆
7楼-- · 2020-08-11 20:26

Use action class, as some UI frameworks don't work well with JavaScript scrollTO

actions.sendKeys(keys.Home).build().perform();
actions.sendKeys(keys.END).build().perform();
查看更多
登录 后发表回答