无法单击下拉列表中给出的链接。当我点击()时,能够获得链接文本和链接突出显示;

时间:2014-02-20 20:24:45

标签: java selenium selenium-webdriver

我使用findElements来获取所有元素。

List<WebElement> list = driver.findElements(By.xpath("//*@id='flyout']/div[1]/ul/li"));

在for循环中,我得到了链接的名称。现在我想点击链接。当我执行list.get(i).click();时,相应的元素会突出显示,但不会发生单击。也没有抛出任何错误。

我正在使用Firefox。

注意:我使用了findElements,因为HTML中的选择值没有给出下拉列表。

2 个答案:

答案 0 :(得分:0)

我认为你的xpath并没有真正返回可点击的元素。

如果下拉项是链接,那么可能需要提供导致超链接的定位器。

答案 1 :(得分:0)

正如您所提到的,下拉列表中有一个“链接”。我认为你迭代的元素列表只是li元素,确保有一个&lt; a href ..&gt; li元素中的元素。你需要点击&lt; a&gt;而不是&lt; li>。

我希望这会有所帮助。

另外,如果您已经知道要单击列表中的哪个选项,为什么要存储完整列表然后迭代它?只需找到包含所需文本的链接,然后单击它即可!

driver.findelement(by.linktext("link text")).click()