我需要点击dat元素:
<span id="act_action9" class="" onclick="openDialog('export', event)">
text
</span>
我无法点击id,因为它是动态的。点击后我会看到一些设置窗口。
答案 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')]