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


本篇文章介紹如何使用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來操作頁面滾動條

使用scrollTop進行垂直方向滾動到最底部

//導包
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,意思就是滾動到底部
 */

 

如果既想要水平方向滑動,也想要垂直方向滑動。則使用scrollTo(x,y)

x:表示水平方向的像素值(最左邊為0,)

y:表示垂直方向的像素值(最上邊為0)

 例:向右100,向下200-------------scrollTo(100,200)

 

水平方向滑動:使用scrollLeft(默認最左邊為0)

  例:向右滑動100----------scrollLeft=100

 

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

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

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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM