gpt4 book ai didi

java - 如何在 Selenium 中将 LI 与 UL 分开

转载 作者:行者123 更新时间:2023-12-02 01:12:28 24 4
gpt4 key购买 nike

我正在尝试过滤列表并单击正确的文本。

列表大小为 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"));
...

关于java - 如何在 Selenium 中将 LI 与 UL 分开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59166302/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com