css - selenium - 如何在不使用 contains 运算符的情况下使用 css 而不是 xpath 单击基于其文本的链接?

标签 css xpath selenium

我尽可能在 xpath 上使用 css 定位器。

我有以下 xpath 定位器,我想将其更改为 css:

//table[@id='service_schedule_sets']//a[text()='OptimalTest']

我想使用 CSS 定位器。我希望避免使用包含,因为在更高版本的 css 中存在支持问题(即 contains 已从 css2 和 css3 中删除(css2 删除是最后一分钟的事情) Selenium 掩盖了但我想避免。

我正在尝试:

css=table#service_schedule_sets a[.='OptimalTest')

但它没有找到该元素。

HTML 是:

<td>
  <a href="service_schedule_sets/905">OptimalTest</a>
</td>

注意事项:

我想使用链接中的文本 ('OptimalTest') 而不是 href。 我不想使用 link=OptimalTest 方法,因为它不够具体。

最佳答案

CSS 选择器不支持基于文本内容的节点选择。

实际上有人建议使用伪类 :contains 来满足您的需求,但它是 removed来自 CSS 3 规范。

关于css - selenium - 如何在不使用 contains 运算符的情况下使用 css 而不是 xpath 单击基于其文本的链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17344459/

相关文章:

python - 如何通过 Selenium 和 Python 在我的页面上向下滚动?

java - WebDriverException : unknown error: failed to change window state to maximized, 当前状态对于 MacOSX 上的 ChromeDriver v2.43 和 Chrome 70 是正常的

jquery - 如何设置物化模式顶部?

jquery - django: Bootstrap 菜单不会在移动设备上折叠

iphone - 使用 CSS 淡化 UIWebView 的底部

ruby - 查找除小节之外的所有后代 text() 节点

xpath - Scrapy-如何将字符串转换为可以在其上使用XPath的对象?

python - 如何使用 selenium 和 python 单击加载 ajax 数据的链接

html - 具有自定义 url 的光标属性无法在 Chrome 中正确显示

javascript - Selenium C# : Locate element on chart