注意: - 此处,Listitems不在 div 类
下能够找到元素但是select函数不起作用。
使用的HTML:
<head>
<body id="data-search" class="hassidebar">
<ul id="material-result-list" style="top: 183px; left: 396.5px; width: 270px; display: block;">
<li>
<li>
<li>
<a>nitrate/0.2</a>
</li>
<li>
<li>
</ul>
使用的代码:
尝试1:
List<WebElement> listItems = driver.findElements(By.xpath("//ul[contains(@id,'material-result-list')]/li"));
listItems.get(2).click();
尝试2:
List<WebElement> listItems = driver.findElement(By.id("material-result-list")).findElements(By.tagName("li"));
listItems.get(2).click();
(使用更多组合,请帮忙)
我可以使用 getText()方法检测自动建议文本 [因此确认找到元素没有问题] 但是在选择它们并放置在文本字段下进行搜索时会遇到麻烦
List<WebElement> link = driver.findElements(By.xpath("//ul[contains(@id,'material-result-list')]/li"));
String secondoption = link.get(2).getText();
System.out.println(secondoption);
答案 0 :(得分:0)
上述脚本正在尝试点击代码"li"
,而不是点击锚标"a"
;
此处,标记"li"
的 getText()方法将返回文本。
因此,我们需要点击特定的锚标记。
<强>解决方案:强>
List<WebElement> listItems = driver.findElement(By.id("material-result-list")).findElements(By.tagName("a"));
listItems.get(2).click();