NoSuchDriverException

简介: 【8月更文挑战第10天】

错误信息 NoSuchDriverException: Unable to locate or obtain driver for chrome 指出Selenium无法定位Chrome驱动程序。根据您提供的错误信息和检索到的资源,这里是一些可能的解决方案:

1. 确保Selenium版本是最新的

Selenium 4.6及以上版本会自动下载所需的驱动程序。如果您使用的是最新版本的Selenium,但仍然遇到错误,请开启日志记录并提交bug报告。

2. 使用环境变量 PATH

您可以手动下载驱动程序,然后将其放置在系统环境变量 PATH 中已列出的目录,或者将包含驱动程序的目录添加到 PATH 中。

  • 在Windows上,打开命令提示符并执行:
    echo %PATH%
    
  • 在Linux或macOS上,打开终端并执行:
    echo $PATH
    

如果驱动程序的位置不在列出的目录中,可以将其添加到 PATH。添加后,可以通过检查驱动程序的版本来测试是否正确添加:

chromedriver --version

3. 指定驱动程序的位置

如果不想升级到最新版本的Selenium,不希望Selenium为您下载驱动程序,或者无法配置环境变量,可以在代码中指定驱动程序的位置。

首先下载所需的驱动程序,然后创建适用的 Service 类的实例并设置路径:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options

chromedriver_path = '/path/to/chromedriver'
service = Service(executable_path=chromedriver_path)
chrome_options = Options()

driver = webdriver.Chrome(service=service, options=chrome_options)

4. 使用第三方驱动管理库

如果您使用的Selenium版本较旧(建议升级),或者需要Selenium Manager尚未实现的高级功能,可以尝试使用第三方工具来自动更新驱动程序,例如:

  • WebDriverManager (Java)
  • WebDriver Manager (Python)
  • WebDriver Manager Package (.NET)
  • webdrivers gem (Ruby)

5. 检查驱动程序下载链接

确保从官方链接下载了正确版本的驱动程序:

6. 使用 Selenium Manager

如果您正在使用Selenium 4.6或更新版本,可以利用Selenium Manager自动管理驱动程序。使用以下代码自动下载并设置Chromedriver:

from selenium import webdriver
from selenium.webdriver.chrome.service import ChromeService
from selenium.webdriver.chrome.options import Options
from selenium_manager import ChromeDriverManager

service = ChromeService(executable_path=ChromeDriverManager().install())
chrome_options = Options()

driver = webdriver.Chrome(service=service, options=chrome_options)

Traceback (most recent call last):
  File "D:/st_dev/ugot1213/test/04selenium.py", line 12, in <module>
    driver = webdriver.Chrome(service=service)
  File "C:\Program Files\Python37\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 50, in __init__
    keep_alive,
  File "C:\Program Files\Python37\lib\site-packages\selenium\webdriver\chromium\webdriver.py", line 51, in __init__
    self.service.path = DriverFinder.get_path(self.service, options)
  File "C:\Program Files\Python37\lib\site-packages\selenium\webdriver\common\driver_finder.py", line 44, in get_path
    raise NoSuchDriverException(f"Unable to locate or obtain driver for {options.capabilities['browserName']}")
selenium.common.exceptions.NoSuchDriverException: Message: Unable to locate or obtain driver for chrome; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors/driver_location


Process finished with exit code 1
目录
相关文章
|
C++ 索引 容器
c++string容器-子串获取讲解
c++string容器-子串获取讲解
1122 0
|
Web App开发 Linux
只需五步,在Linux安装chrome及chromedriver(CentOS)
只需五步,在Linux安装chrome及chromedriver(CentOS)
7032 1
|
5月前
|
Web App开发 IDE JavaScript
Selenium IDE下载安装保姆级教程(附安装包,非常详细)
Selenium IDE 是一款开源跨浏览器的Web自动化测试工具,支持“录制-回放”操作,无需编程即可实现UI级端到端测试。基于Electron开发,兼容主流浏览器,可导出多种语言脚本,轻松集成到持续集成流程中,适用于回归测试、兼容性验证等场景。
|
11月前
|
数据采集 存储 JSON
淘宝数据爬虫方案
本项目使用 Selenium 模拟浏览器行为,实现淘宝商品信息爬取,包括商品标题、价格、到手价、店铺名、销量等,并支持保存为 CSV 或 JSON 文件。代码内置反爬策略应对机制,适合用于商品数据采集与分析。
|
数据库 Python
使用 Django 中的 filter 方法进行数据查询
在 Django 中,QuerySet 的 filter() 方法是一个强大的工具,用于从数据库中检索数据并根据指定的条件进行筛选。在本文中,我们将介绍如何使用 filter() 方法来执行各种类型的数据查询操作。
|
IDE 开发工具 Python
selenium.common.exceptions.NoSuchDriverException: Message: Unable to obtain driver for MicrosoftEdge
selenium.common.exceptions.NoSuchDriverException: Message: Unable to obtain driver for MicrosoftEdge
1581 3
|
人工智能 自然语言处理 机器人
招商银行X通义大模型,2024年度AI最佳实践案例!
招商银行X通义大模型,2024年度AI最佳实践案例!
1555 2
|
测试技术
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
本文介绍了如何使用Pytest和Allure生成自动化测试报告。通过安装allure-pytest和配置环境,可以生成包含用例描述、步骤、等级等详细信息的美观报告。文章还提供了代码示例和运行指南,以及重构项目时的注意事项。
1598 1
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
|
Web App开发 测试技术 Python
【Python】已解决:selenium.common.exceptions.WebDriverException: Message: unknown error: cannot find Chrom
【Python】已解决:selenium.common.exceptions.WebDriverException: Message: unknown error: cannot find Chrom
1989 6
|
Web App开发 设计模式 测试技术
自动化测试框架的搭建与实践
【10月更文挑战第5天】本文将引导你理解自动化测试框架的重要性,并通过实际操作案例,展示如何从零开始搭建一个自动化测试框架。文章不仅涵盖理论,还提供具体的代码示例和操作步骤,确保读者能够获得实用技能,提升软件质量保障的效率和效果。