一尘不染

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

selenium

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

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

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


阅读 435

收藏
2020-06-26

共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 + End

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

方法3:通过使用Java Robot类

Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_END);
robot.keyRelease(KeyEvent.VK_END);
robot.keyRelease(KeyEvent.VK_CONTROL);
2020-06-26