如何使用webdriver通过其内部文本查找元素

时间:2014-05-09 20:58:15

标签: java selenium webdriver innertext

我正在尝试通过它的内部文本找到并选择一个元素。我的脚本导航到收件箱,我需要选择指定的电子邮件。收件箱中的所有电子邮件都具有相同的ID和类,它们的不同之处在于类的内部文本。

我尝试了以下和其他变体但没有成功。

driver.findElement(By.xpath("//div[text()=\\"REMINDER: Your Password Expires in 2 days\\"]"));

HTML:

<div id="divSubject" class="c3 ur">REMINDER: Your Password Expires in 2 days</div>
<div id="divSubject" class="c3 ur">REMINDER: Your Password Expires in 3 days</div>
<div id="divSubject" class="c3 ur">REMINDER: Your Password Expires in 4 days</div>

1 个答案:

答案 0 :(得分:1)

以下内容应该有效:

driver.findElement(By.xpath("//div[contains(text(),'REMINDER: Your Password Expires in 2 days')]"));

此外,你的问题可能是逃避&#34;。从理论上讲,这也应该起作用:

driver.findElement(By.xpath("//div[text()='REMINDER: Your Password Expires in 2 days']"));

我在Chrome中测试了两个选择器,两者似乎都有效。