我使用findElements
来获取所有元素。
List<WebElement> list = driver.findElements(By.xpath("//*@id='flyout']/div[1]/ul/li"));
在for循环中,我得到了链接的名称。现在我想点击链接。当我执行list.get(i).click();
时,相应的元素会突出显示,但不会发生单击。也没有抛出任何错误。
我正在使用Firefox。
注意:我使用了findElements
,因为HTML中的选择值没有给出下拉列表。
答案 0 :(得分:0)
我认为你的xpath并没有真正返回可点击的元素。
如果下拉项是链接,那么可能需要提供导致超链接的定位器。
答案 1 :(得分:0)
正如您所提到的,下拉列表中有一个“链接”。我认为你迭代的元素列表只是li元素,确保有一个&lt; a href ..&gt; li元素中的元素。你需要点击&lt; a&gt;而不是&lt; li>。
我希望这会有所帮助。
另外,如果您已经知道要单击列表中的哪个选项,为什么要存储完整列表然后迭代它?只需找到包含所需文本的链接,然后单击它即可!
driver.findelement(by.linktext("link text")).click()