Selenium页面滚动条处理

  1. 窃套js语句
    1.1 滚动到指定元素
    WebElement login = useDrive.findElement(By.xpath(productpath));

        ((JavascriptExecutor) useDrive).executeScript("arguments[0].scrollIntoView(false);", login);
    

1.2 滚动直到找到元素

public void loadallpage() throws InterruptedException {
while (true) {
try {
((JavascriptExecutor) useDrive).executeScript(
“window.scrollTo(0, document.body.scrollHeight); var
lenOfPage=document.body.scrollHeight; return lenOfPage;”);
Thread.sleep(1000);
WebElement element =
useDrive.findElement(By.xpath("//div[text()=‘xxx’]"));
if (element != null) {
break;
}
} catch (Exception e) {
System.err.println(“错误日志:” + e.getMessage());
}
}

1.3 依据高度滚动
public void loadallpage() throws InterruptedException {
JavascriptExecutor js = (JavascriptExecutor) driver;
while (true) {
try {
Long height = (Long) js.executeScript(“return document.body.scrollHeight”);
System.out.println(height);
Thread.sleep(1000);
driver.findElement(By.tagName(“body”)).sendKeys(Keys.END);
if (height <= 0) {
break;
}
} catch (Exception e) {
System.err.println(“错误日志:” + e.getMessage());
}
}
}

你可能感兴趣的:(自动化)