selenium - 使用 css 选择器在精确元素中按精确文本查找元素

标签 selenium xpath selenium-webdriver css-selectors

我想知道是否可以通过 css 定位器通过精确文本匹配元素(总体目标是将其用作 Selenium 的定位器)。我知道contains方法

例如:

<div><div>S - Subscriber</div></div>

我可以通过 css=div:contains('Subscriber') 检索它或通过 css=div:contains('S - Subscriber')但我需要完全匹配。我试过css=div:contains('^S - Subscriber$')并且没有找到这个元素。

还有一点:

当我们使用xpath时我们可以通过使用 text() 检索文本来假设给定的文本位于精确的元素中函数(例如 //div[text()='S - Subscriber'] 会将我们精确地指向子 div,每当 //div[contains(., 'S - Subscriber')] 会将我们指向父 div,如果我没有搞砸),那么 css 中是否有等效的另一种方式 css=div > div:contains('S - Subscriber') ?我的意思是只指向一个元素,没有父 div。

提前致谢!

最佳答案

由于您使用的是 selenium,所以我会选择使用 Xpath。您将通过以下方式获得所需的元素:browser.find_element_by_xpath('//div[text()="S - Subscriber"]')

遗憾的是,您无法使用 css 选择器来完成您想要做的事情。

关于selenium - 使用 css 选择器在精确元素中按精确文本查找元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25889653/

相关文章:

java - 即使我捕获它,也会抛出 NoSuchElementException 吗?

javascript - Protractor 中的 browser.getProcessedConfig

xpath - Selenium,PHPUnit:当我尝试获取样式属性时,我得到的是空值而不是值

在 Heroku 上安装 Buildpack 后出现 Python ImportError

python - 如何通过 selenium 和 python 从下拉菜单中选择元素?

selenium - 当我们使用 Jenkins windows 服务模式执行 selenium 脚本时,从渲染器 : 600. 000 接收消息超时

python - 为什么每个产品要保存多个价格?

java - 加载相关主页但不登录该网站

java - Webdriver sendkeys() 不起作用。使用 javascript 也失败

java - 如何在循环之间跳过一键操作