我需要选择向下滚动页面时出现的图像。一组图像加载到页面底部并进一步向下滚动加载另一组图像。
我尝试使用scroll(),scrollBy()和Actions方法但没有响应。 但是单独使用scrollIntoView()方法滚动页面。因为我需要选择的图像只有在滚动完成加载后才出现,所以我不能在这里使用scrollIntoView()。请注意滚动窗口即时尝试是在iframe和div标签内。
((JavascriptExecutor) driver).executeScript("scroll(0,400)");
((JavascriptExecutor) driver).executeScript("window.scrollBy(0,250)", "");
Actions action = new Actions(driver);
action.sendKeys(Keys.PAGE_DOWN);
答案 0 :(得分:1)
要滚动到底部,请将scrollTop
属性设置为最大值。具有滚动条的容器通常是<body>
:
((JavascriptExecutor)driver).executeScript(
"document.body.scrollTop = -1 >>> 1");
或<html>
:
((JavascriptExecutor)driver).executeScript(
"document.documentElement.scrollTop = -1 >>> 1");
或可滚动的<div style="overflow: scroll;">
:
WebElement div = driver.findElement(By.cssSelector(...));
((JavascriptExecutor)driver).executeScript(
"arguments[0].scrollTop = -1 >>> 1", div);
请注意,您首先需要在目标框架上设置上下文。