Selenium CSS_Selector 正在寻找具有特定文本的元素,结果是“NoSuchElementException”

Posted

技术标签:

【中文标题】Selenium CSS_Selector 正在寻找具有特定文本的元素,结果是“NoSuchElementException”【英文标题】:Selenium CSS_Selector looking for an element with specific text is turning out a 'NoSuchElementException' 【发布时间】:2016-02-19 04:45:10 【问题描述】:

我在使用 Selenium 中的 CSS_Selectors 查找具有特定文本属性的元素时遇到问题。这是我当前的代码行:

element = driver.find_element(By.CSS_SELECTOR, "li.adTypeItem[text='CLASS']")

过去我在使用 CSS_Selectors 中的属性选择器括号时遇到了麻烦,清除这个问题确实有助于更好地理解将来如何使用 CSS_Selectors。

请注意 - 我不是在寻找具有类的元素,而是与该元素一起显示的实际文本。

【问题讨论】:

【参考方案1】:

这是页面上唯一显示“类”文本的地方吗?如果是这样,您可以尝试:

driver.find_element(By.LINK_TEXT('CLASS'));
driver.find_element(By.PARTIAL_LINK_TEXT('CLASS'));

【讨论】:

这不是 HREF,'CLASS' 只是显示在我要定位的元素上的文本。另外,我试图只使用 CSS_Selector,因为它是我们在自动化代码库中拥有的脚本标准。比如,我可以让我的脚本使用 XPATH 定位器而不是 CSS_Selector 来定位该特定元素。

以上是关于Selenium CSS_Selector 正在寻找具有特定文本的元素,结果是“NoSuchElementException”的主要内容,如果未能解决你的问题,请参考以下文章

Selenium,webdriver - 找不到 - xpath / css_selector / ... python

一:unittest框架配合selenium工具之CSS_selector定位。

使用python处理selenium中的css_selector定位元素的模糊匹配问题

css_selector定位总结

Selenium2项目实战

selenium--定位方式