如何将硒与UL中的LI分开
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将硒与UL中的LI分开相关的知识,希望对你有一定的参考价值。
我正在尝试过滤列表,然后单击正确的文本。
列表的大小为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
我对其他html表格和列表结构使用了类似的方法,所以我不确定哪里出了问题。
答案
根据选择器,您似乎正在选择ul
元素:ul-classname
。这是一个很好的第一步,下一步是选择li
的所有子ul
元素:
// 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"));
...
以上是关于如何将硒与UL中的LI分开的主要内容,如果未能解决你的问题,请参考以下文章