1. 程式人生 > >java+selenium使用JS、鍵盤滑動滾動條

java+selenium使用JS、鍵盤滑動滾動條

driver 瀏覽器 ack add find rom javascrip int del

本篇文章介紹如何使用JS和鍵盤對象對頁面進行滑動滾動條-------------主要針對java做自動化測試的同學

一:使用鍵盤對象操作滾動條

//導包

import org.openqa.selenium.interactions.Actions;

// 創建鼠標鍵盤操作對象
Actions actions = new Actions(driver);

// -----------driver:是創建瀏覽器對象的變量(WebDriver driver=new ChromeDriver();)

//通過xpath獲取到滾動條所在元素位置
WebElement A = driver.findElement(By.xpath("xpath_str"));

//循環點擊鍵盤下鍵,直到元素可見 while(true) { actions.sendKeys(A, Keys.DOWN).perform(); /* A:滾動條所在元素位置 * Keys.DOWN:點擊鍵盤下鍵 * perform():確定鍵盤操作事件,不能省略 */ // 使用try…catch…來判斷元素是否可見,可見就進行元素操作並退出循環 try { driver.findElement(By.xpath("Startprocess")).click(); break; } catch (Exception e) { } }

以上方式就會讓滾動條不停的滑動,並直到元素可見。進行元素的操作

二:通過JS來操作頁面滾動條

主要介紹一下垂直方向滾動到最底部,水平方向同理

//導包
import org.openqa.selenium.JavascriptExecutor;

// 創建js對象
JavascriptExecutor js = (JavascriptExecutor) driver;
        
// 使用executeScript方法執行js語句
js.executeScript("document.evaluate(\"xpath_str\", document).iterateNext().scrollTop=1000");
        
/* * document.evaluate是針對使用xpath定位的方法 * document.evaluate(\"xpath_str\", document).iterateNext():獲取到滾動條元素位置,xpath內含有雙引號記得轉義 * scrollTop:將垂直滾動條高度設置為1000,意思就是滾動到底部 */

註意:上述JS操作滾動條是使用xpath定位的方式,如果需要使用其他的元素可使用下述例子

如:id定位可直接使用:js.executeScript("document.getElementById(\"ext-gen543\").scrollTop=1000");

--------移動到最底部

class定位、name定位和id定位操作一樣,只有xpath不同,因為js中對xpath是單獨的方法。

感謝各位看官--------------技術分享圖片技術分享圖片技術分享圖片技術分享圖片技術分享圖片技術分享圖片技術分享圖片技術分享圖片技術分享圖片技術分享圖片技術分享圖片

java+selenium使用JS、鍵盤滑動滾動條