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)
<
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)");
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)");
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);
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);
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();
This solution also works correctly, I've checked it:
((JavascriptExecutor) driver)
.executeScript("window.scrollTo(0, -document.body.scrollHeight)");