0

注意:-这里,Listitems 不在div类下

可以找到元素,但选择功能不起作用。

使用的 HTML:

 <head>
 <body id="data-search" class="hassidebar">
   ‌&lt;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);
4

1 回答 1

0

上面的脚本试图点击标签"li"而不是锚标签"a";在这里,tag的getText()"li"方法将返回文本。

所以,我们需要点击特定的锚标签

解决方案:

List<WebElement> listItems = driver.findElement(By.id("material-result-list")).findElements(By.tagName("a")); 
listItems.get(2).click();
于 2013-07-05T07:17:34.370 回答