在使用 Selenium 时,你可能会遇到 'selenium.common.exceptions.InvalidSelectorException: Message: invalid selector: An invalid or illegal selector was specified (Session info: chrome=109.0.5414.120)' 错误。这个错误意味着你传递给 Selenium 的选择器是无效或非法的。

以下是常见的原因和解决方案:

  • 选择器语法错误: 确保你使用的选择器语法正确,例如 CSS 选择器或 XPath 表达式。
  • 不支持的选择器语法: 某些选择器语法可能不被 Selenium 支持,例如一些高级的 CSS 选择器或不常见的 XPath 表达式。
  • 元素不存在: 如果你尝试选择一个不存在的元素,也会引发这个错误。

解决方法:

  1. 检查选择器语法: 仔细检查你的选择器语法,确保它正确无误。
  2. 使用更简单的选择器: 尝试使用更简单的选择器,例如 ID 选择器或标签选择器。
  3. 验证元素存在: 使用 Selenium 的 find_elementfind_elements 方法尝试定位元素,如果元素不存在,则会引发异常,而不是 InvalidSelectorException
  4. 使用浏览器开发者工具: 使用浏览器的开发者工具来检查页面结构,并使用 CSS 选择器或 XPath 表达式来定位元素,确保选择器能够正确地匹配元素。

示例:

假设你想要选择一个 ID 为 'myElement' 的元素,你的代码可能是:

from selenium import webdriver

driver = webdriver.Chrome()
driver.get('https://www.example.com')

element = driver.find_element(By.ID, 'myElement')

如果你遇到 'InvalidSelectorException',请检查以下几点:

  • 页面上是否真的存在 ID 为 'myElement' 的元素?
  • 是否正确地拼写了 'myElement'?

通过仔细检查选择器语法和确保元素存在,你可以有效地解决 'InvalidSelectorException' 错误。

Selenium 错误:InvalidSelectorException - 选择器无效或非法

原文地址: https://www.cveoy.top/t/topic/okq8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录