选择自动建议并将其移入文本框时出现问题

时间:2013-07-05 05:53:33

标签: selenium webdriver selenium-webdriver

注意: - 此处,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);

1 个答案:

答案 0 :(得分:0)

上述脚本正在尝试点击代码"li",而不是点击锚标"a"; 此处,标记"li" getText()方法将返回文本。

因此,我们需要点击特定的锚标记

<强>解决方案:

List<WebElement> listItems = driver.findElement(By.id("material-result-list")).findElements(By.tagName("a")); 
listItems.get(2).click();