![](/img/trans.png)
[英]How to get all the <li> of <ul> with Selenium WebDriver using Java?
[英]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.