如何使用CSS选择器按文本查找链接

时间:2014-09-05 19:00:11

标签: jquery css selenium

我正在使用Java和Selenium来查看页面以查看是否存在具有特定文本的链接,如果没有,那么我将转到下一页并进行检查。

我的问题是我找不到基于它的文本找到链接的方法,我可以根据他们的URL找到它们,但文本似乎不起作用。

这就是我为网址所做的事情:

$("a[href*='foo']")

但是当我为文本尝试相同时:

$("a[text*='bar']")

一无所获。

我知道这样做的唯一方法是获取所有链接并循环检查它们是否包含我正在搜索的字符串。

有更好的方法吗?

2 个答案:

答案 0 :(得分:4)

您无法使用CSS选择器对文本执行匹配。

您可以使用xpath:

//a[contains(text(), 'bar')]

//a[text() = 'bar']

答案 1 :(得分:2)

虽然没有css伪选择器可用于元素的内容,但JQUERY在其选择器中实现了:contains

$('a:contains("bar")')

Jquery :contains() Selector