簡體   English   中英

Selenium (Java) 如何從可能的元素列表中找到一個元素

[英]Selenium (Java) how to find an element from a list of possible elements

selenium 的新手,為了簡化它,有 50 個可能的元素可以出現在頁面上,所以我有這 50 個 driver.findElement(By.xpath().click(),點擊任何可能出現的元素,我的問題是,如果 findelement 是 flase 程序結束,但我想要的是檢查第一個元素,如果它是假的,檢查第二個,如果第二個是假的,檢查第三個,直到它找到 findelement true 並點擊它。最好的方法是什么?謝謝。

元素有多大不同? 這將有助於產生更好的答案,但問題的第二部分的答案......你如何檢查一個元素,然后如果沒有找到,我會做這樣的事情。

構建一個List<>你的定位器(By.* 的東西),遍歷它們尋找匹配的,如果你找到匹配然后點擊它。

List<By> locators = new ArrayList<>();
locators.add(By.id("someId"));
locators.add(By.cssSelector("div.someClass"));
// add all your locators to the List<>

for (By locator : locators)
{
    List<WebElement> elements = driver.findElements(locator);
    if (elements.size() > 0)
    {
        elements.get(0).click();
        break;
    }
}

創建一個 xpath 數組,然后循環遍歷它們,直到命中某個元素。

暫無
暫無

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

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