使用java在Selenium WebDriver(Selenium 2)中向上或向下滚动页面

我已经用Selenium 1(又名Selenium RC)编写了以下代码,用于使用java进行页面滚动:

selenium.getEval("scrollBy(0, 250)");

Selenium 2 (WebDriver) 中的等效代码是什么?


答案 1

方案/测试步骤:
1。打开浏览器并导航到 TestURL
2。向下滚动一些像素,然后向上滚动

对于向下滚动

WebDriver driver = new FirefoxDriver();
JavascriptExecutor jse = (JavascriptExecutor)driver;
jse.executeScript("window.scrollBy(0,250)");

或者,您可以执行以下操作:

jse.executeScript("scroll(0, 250);");

对于向上滚动

jse.executeScript("window.scrollBy(0,-250)");
OR,
jse.executeScript("scroll(0, -250);");

滚动到页面底部:

方案/测试步骤:
1。打开浏览器并导航到 TestURL
2。滚动到页面底部

方式1:通过使用JavaScriptExecutor

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

方式2:按ctrl+结束

driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL, Keys.END);

方式3:通过使用Java机器人类

Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_END);
robot.keyRelease(KeyEvent.VK_END);
robot.keyRelease(KeyEvent.VK_CONTROL);

答案 2

滚动到页面底部:

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

推荐