亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我們如何在 selenium java 中檢查滾動條是否可滾動?

我們如何在 selenium java 中檢查滾動條是否可滾動?

瀟瀟雨雨 2021-10-27 16:54:44
我必須檢查水平滾動條是否可滾動。我嘗試通過檢查元素是否顯示,這是在使用 Javascript 水平滾動之后出現的,scrollIntoView但它如何確保滾動條正常工作。因為滾動條位置不會改變,scrollIntoView只會滾動元素并使其顯示在屏幕上。但滾動條不滾動。
查看完整描述

2 回答

?
慕桂英4014372

TA貢獻1871條經驗 獲得超13個贊

嘗試以下選項來水平滾動:


// scroll at a particular element


WebElement e1 =


driver.findElement(By.xpath(“//input [@id=’ElementID’]”));


((JavascriptExecutor)driver).executeScript(“arguments[0].scrollIntoView();”, e1);


Where ‘e1’ is the locator where you want to scroll.


// scroll at a particular coordinate,.  


((JavascriptExecutor)driver).executeScript(“window.scrollBy(200,300)”);




// scroll horizontally in the right direction.

((JavascriptExecutor)driver).executeScript(“window.scrollBy(2000,0)”);


// scroll horizontally in the left direction.

((JavascriptExecutor)driver).executeScript(“window.scrollBy(-2000,0)”);


查看完整回答
反對 回復 2021-10-27
?
冉冉說

TA貢獻1877條經驗 獲得超1個贊

這個想法很簡單 - 首先,嘗試將滾動條移動到任一側并檢查它是否真的移動了。


//scrol 1px to the left

$(document).scrollLeft(1);


if($(document).scrollLeft() != 0){

   //there's a scroll bar

}else{

   //there's no scrollbar

}

//scroll back to original location

$(document).scrollLeft(0);

讓我們將其轉換為 Java 方法并在您的腳本中使用它。


    /**

     * 

     * @param js reference to JavascriptExecutor

     * @param element is a string of locator (i.e. #scroll > span etc.)

     * @return true if scrollbar is scrollable

     */

    boolean testScrollBar(JavascriptExecutor js, String element){

        String jq = String.format("return $('%s').scrollLeft()", element);

        String jq1 = String.format("$('%s').scrollLeft(1)", element);

        String jq2 = String.format("$('%s').scrollLeft(0)", element);


        System.err.println("Test1: "+js.executeScript(jq));


        js.executeScript(jq1);


        Long currentPos =  (Long)js.executeScript(jq);


        System.err.println("Test2: " + currentPos);


        js.executeScript(jq2);


        return currentPos != 0;

    }

我希望它能幫助你。


查看完整回答
反對 回復 2021-10-27
  • 2 回答
  • 0 關注
  • 273 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號