簡體   English   中英

Java Selenium 2.0-在WebElement .click()之前使用內置滾動時處理z-index(navi)

[英]Java Selenium 2.0 - handle z-index (navi) when using builtin scroll before WebElement .click()

Selenium 2.0 .click()帶有自動滾動功能,直到該元素可見並允許單擊為止:

WebElement box = driver.findElement( By.id( boxID ) );
box.click();

這通常可以正常工作,硒將滾動直到出現該框,然后執行click()。

無論如何,如果存在具有較高z-index的元素,它將失敗並出現org.openqa.selenium.WebDriverException 它滾動到該元素,但由於Z-index較低,因此它不可見。 就我而言,頁面頂部的導航欄。

我想到了使用javascript-scroll來解決此問題的方法,使該元素出現在頁面的底部,但這可能不是最好的(甚至是一個好的)解決方案...

JavascriptExecutor jse = (JavascriptExecutor)driver;
// scroll to top will make the box occur at the bottom of the page
jse.executeScript("scroll(0, -10000);");

有沒有一種優雅的方法可以通過整個測試套件來解決此問題,而無需像javascript滾動這樣的黑客?

 String script = String.format(" $('.items-container').scrollTo($('li#%s'))",currentId);

使用此行運行腳本,添加所需的css或xpath

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM