web-dev-qa-db-fra.com

Comment faire défiler la page jusqu'en bas (page de fin) dans Selenium WebDriver

Je dois faire défiler la page jusqu'au bout dans Selenium WebDriver. J'ai essayé de faire défiler la page en utilisant l'extrait de code suivant:

JavascriptExecutor jse6 = (JavascriptExecutor) driver;
jse6.executeScript("window.scrollBy(0,250)", "");

Il fait défiler mais je dois faire défiler jusqu'à la dernière page.

6
Prashanth

Nous devons utiliser JavascriptExecutor

Faire défiler en utilisant la coordonnée

((JavascriptExecutor) driver).executeScript("window.scrollBy(0,500)");

Faire défiler jusqu'à la fin de la page

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

Faire défiler jusqu'à n'importe quel élément

((JavascriptExecutor) driver).executeScript(
            "arguments[0].scrollIntoView();", element);
13
shubham bansal

Pour cela, vous pouvez prendre le xpath de n'importe quel objet à la fin de la page manuellement. Et utilisez le code ci-dessous.

WebElement lastElement = 
driver.findElement(By.xpath("//a[@title='org.Apache.spark download']"));
int y = lastElement.getLocation().getY();
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("window.scrollTo(0,"+y+")");
Thread.sleep(3000);
0
Pulkit Agrawal