Selenium单击带粗体文本的链接

时间:2014-12-18 16:59:14

标签: java firefox selenium selenium-webdriver

我正在尝试让Selenium Webdriver单击具有经常更改的xpath的链接,因此我不能指望通过相对或绝对xpath找到它。我处理的元素的页面源看起来像......

<a href="https://webpage.com"/>
    <img align="left" border="0" src="/img/folder.png"/>
    <strong>Foobar Folder</strong>
</a>

我基本上都想点击链接到&#34; Foobar Folder&#34;基于链接本身的文本,&#34; Foobar Folder&#34;。有什么建议如何最好地完成这个?我用Java编写它。

4 个答案:

答案 0 :(得分:1)

然后尝试以下代码:

driver.findElement(By.xpath("//*[.='Foobar Folder']")).click();

它会点击具有精确innerHTML /文字的元素作为&#39; Foobar文件夹&#39;

答案 1 :(得分:1)

类似的东西:

String path = "//a/strong[contains(text(), 'Foobar Folder')]";
webDriver.findElement(By.xpath(path)).click();

答案 2 :(得分:1)

下面的xpath将找到一个标签并单击它。

webDriver.findElement(By.xpath("//strong[.='Foobar Folder']/..")).click();

答案 3 :(得分:0)

文本在锚内。所以显而易见的选择应该是:webDriver.findElement(By.partialLinkText("Foobar Folder")).click();