我需要向下滚动页面直到Selenium WebDriver结束。我尝试使用以下代码片段向下滚动页面:
JavascriptExecutor jse6 = (JavascriptExecutor) driver;
jse6.executeScript("window.scrollBy(0,250)", "");
它正在滚动,但我需要向下滚动到结束页面。
我们必须使用 JavascriptExecutor
使用坐标滚动
((JavascriptExecutor) driver).executeScript("window.scrollBy(0,500)");
滚动到页面末尾
((JavascriptExecutor) driver)
.executeScript("window.scrollTo(0, document.body.scrollHeight)");
滚动到任何元素
((JavascriptExecutor) driver).executeScript(
"arguments[0].scrollIntoView();", element);
用python
,
import time
time.sleep(2)
drive.execute_script("window.scrollTo(0, document.body.scrollHeight)")
基于@shubham班萨尔的
为此,
您可以手动获取页面末尾任何对象的 xpath。并使用以下代码。
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);