前言
其實對於 selenium 操作瀏覽器而言大部分的滑動操作都可以使用 js 腳本完成,還有一些可以藉助按鍵操作
滑動到頁面最底部
((JavascriptExecutor) driver).executeScript("window.scrollTo(window.pageXOffset, document.body.scrollHeight)");
滑動到頁面最頂部
((JavascriptExecutor) driver).executeScript("window.scrollTo(window.pageXOffset, 0)");
上下滑動使元素和窗口底部對齊
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(false);", driver.findElement(by));
上下滑動使元素和窗口頂部對齊
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", driver.findElement(by));
水平滑動到頁面最右邊
((JavascriptExecutor)driver).executeScript("window.scrollTo(document.body.scrollWidth, window.pageYOffset)")
水平滑動到頁面最左邊
((JavascriptExecutor)driver).executeScript("0, window.pageYOffset)")
水平滑動滑塊
對於滑動滑塊可以這樣去操作:
Action action = new Action(driver);
action.clickAndHold(by).moveToElement(by2).release().build().perform();
用按鍵來進行上下左右滑動
這種方式用上下左右按鍵操作滑動,這裏僅用向右滑動舉例說明:
我們先點擊頁面中某個元素,然後用 action sendKey 左鍵和右鍵來實現左右滑動。其實這種寫法對於上下滑動也是可以的
Action action = new Action(driver);
driver.findElement(by).click();
for (int i = 0; i < 10; i++) {
action.sendKeys(Keys.RIGHT).perform();
}