You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Selenium定位特定网站元素失败:Unsupported locator strategy:0报错求助

解决Selenium报错“Unsupported locator strategy: 0”

针对你遇到的问题,给出以下排查和解决步骤:

  • 检查版本兼容性
    确保ChromeDriver版本与本地Chrome浏览器、Selenium版本完全匹配:

    • ChromeDriver版本必须和Chrome浏览器的大版本一致(比如Chrome 118对应ChromeDriver 118.x)
    • Selenium 4.x需要搭配对应版本的ChromeDriver,避免使用过于老旧的驱动文件
  • 优化WebDriver初始化方式
    Selenium 4.6及以上版本支持自动管理驱动,无需手动指定路径,修改初始化代码:

    from selenium import webdriver
    from selenium.webdriver.common.by import By
    
    ff = webdriver.Chrome()  # 自动加载匹配的ChromeDriver
    ff.get("<website>")
    email = ff.find_element(By.NAME, 'email')
    email.clear()
    email.send_keys("<email>")
    ff.close()
    

    如果必须手动指定路径,确认路径无误且chromedriver.exe文件未损坏。

  • 验证By类导入正确性
    检查代码中是否存在自定义的By类或错误导入,确保使用的是selenium.webdriver.common.by中的By类。可以在代码开头添加print(By.NAME),确认输出为'name'而非数字0。

  • 重装依赖(可选)
    卸载并重新安装Selenium,确保依赖无损坏:

    pip uninstall selenium -y
    pip install selenium
    

    也可以使用webdriver-manager自动维护驱动版本,避免版本匹配问题:

    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from webdriver_manager.chrome import ChromeDriverManager
    from selenium.webdriver.chrome.service import Service
    
    ff = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
    ff.get("<website>")
    email = ff.find_element(By.NAME, 'email')
    email.clear()
    email.send_keys("<email>")
    ff.quit()
    

内容的提问来源于stack exchange,提问作者Rohan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 20:13:24