有没有一种方法可以按span内容单击<span>标签

时间:2019-01-30 20:37:57

标签: java selenium

我有一个下拉框,其中包含没有id / class / name等的span标记。

<span data-hj-masked="">Friday 5:30</span>
<span data-hj-masked="">Saturday 3:30</span>
<span data-hj-masked="">Monday 1:30</span>

有没有一种方法可以仅在硒中按文本单击?

我尝试过,但是没有用:

driver.findElement(By.xpath("span[contains(text(),'Friday 5:30']")).click();

应该可以点击“星期五5:30”。

2 个答案:

答案 0 :(得分:4)

您犯了一个小错误:最后一个]符号应为)符号:) 正确的XPath是:

//span[contains(text(),'Friday 5:30')]

此外,您可以使用以下XPath:

//span[text()='Friday 5:30']
//span[.='Friday 5:30']

希望对您有帮助!

答案 1 :(得分:0)

尝试以下代码,以便您可以在此选择中对任何跨度使用相同的方法:

public void selectSpanByText(final String text) {
    driver.findElement(By.xpath("//span[text()='" + text + "']")).click();
}