1

我需要点击 dat 元素:

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

我不能点击 id,因为它是动态的。点击后,我得到一些设置的窗口。

4

4 回答 4

0

由于 ID 是动态的,您可以将 xpath 用于跨度内的文本。

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

或者,如果部分 ID 仍然常见,那么您可以使用

//span[contains(@id,'act')]
于 2013-11-19T06:28:36.180 回答
0

请参阅动态 xpath 的示例

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

很棒的 xpath 备忘单:http: //extract-web-data.com/5-best-xpath-cheat-sheets-and-quick-references/

于 2013-11-11T17:27:51.053 回答
0

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

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

我推荐这个教程开始做好的 xpath 表达式: http ://www.w3schools.com/xpath/

于 2013-11-11T14:32:28.533 回答
0

您还可以使用 xpath 如下(假设只有数字是动态的):

".//span[contains(@id, 'act_action')]"
于 2013-11-12T05:39:31.333 回答