簡體   English   中英

如何在 Selenium 中將 LI 與 UL 分開

[英]How to get the LIs seperate from the UL in Selenium

我正在嘗試過濾列表並單擊正確的文本。

該列表的大小為 2,如下所示:

<ul>
  <li><span>first</span></li>
  <li><span>second</span></li>
</ul>

出於某種原因,我的代碼將整個 UL 返回給我,而不是單個條目,並且不會遍歷內部元素。

public void clickRightThing(String name) {      
    List<WebElement> list = driver.findElements(By.className("ul-classname"));

    String returnedName;

    for (WebElement row : list) {
        returnedName = row.getText();   
        System.out.println(returnedName);
        System.out.println(returnedName.length());

        if (returnedName.equals(name)) {
            row.click();
            return;
        }
    }
}

運行 clickRightThing("first)" 將僅在循環的一次運行中打印出行的名稱,大小為 11,即第一個 + 第二個的長度,最后是列表 1 的大小。它從不進入 if 語句,因為字符串返回的是兩行而不是第一行。

first 
second 
11 
1

根據您的選擇器,您似乎正在選擇ul元素: ul-classname 這是一個很好的第一步,接下來是選擇ul所有子li元素:


// Select the parent UL
WebElement parentUL = driver.findElement(By.className("ul-classname"));

// Get all WebElements of type "li" that are children of parentUL
List<WebElement> childLIs = parentUL.findElement(By.tagName("li"));
...

暫無
暫無

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

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