如何使用WebDriver单击元素

时间:2013-11-11 14:18:30

标签: testing selenium webdriver

我需要点击dat元素:

<span id="act_action9" class="" onclick="openDialog('export', event)">
    text
</span>

我无法点击id,因为它是动态的。点击后我会看到一些设置窗口。

4 个答案:

答案 0 :(得分:0)

您应该使用xpath来单击此元素,这样您就可以添加一个明确标识此元素的表达式。

您能否请包含更多HTML代码,因为仅包含代码并不足以创建xpath表达式。

我建议本教程开始做好的xpath表达式: http://www.w3schools.com/xpath/

答案 1 :(得分:0)

请参阅动态xpath的示例

By.xpath("//span[@id [contains(.,'act_action')]]")

Great xpath cheatsheets:http://extract-web-data.com/5-best-xpath-cheat-sheets-and-quick-references/

答案 2 :(得分:0)

你也可以像下面这样使用xpath(假设只有数字是动态的):

".//span[contains(@id, 'act_action')]"

答案 3 :(得分:0)

由于ID是动态的,因此您可以将xpath用于span内的文本。

driver.findElement(By.xpath("//span[text()='text']").click();

或者,如果ID的一部分保持通用,那么您可以使用

//span[contains(@id,'act')]