Python中遇到selenium.common.exceptions.WebDriverException问题,解决办法

本文介绍在PyCharm中使用Selenium时遇到ChromeDriver未找到的问题解决方法。通过检查Chrome版本,下载对应版本的ChromeDriver,并将其放置在程序目录或设置executable_path参数,以确保Selenium可以正确调用ChromeDriver。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在pycharm中运行程序:

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("http://www.baidu.com")

出现问题下面问题:
selenium.common.exceptions.WebDriverException: Message: ‘chromedriver’ executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home

在这里插入图片描述

解决方法:

  1. 查看浏览器的版本
    这里我用的是chrome浏览器,在浏览器中输入

chrome://version/
在这里插入图片描述

  1. 下载合适的自己浏览器版本的driver
    进入网站 http://chromedriver.storage.googleapis.com/index.html 下载适合自己浏览器的driver
    在这里插入图片描述

  2. 两种解决方法(原理都是一样的)

  • 第一种方法直接将下载好的文件是一个压缩包,解压后,放在程序目录中。

在这里插入图片描述

  • 第二种方法是设置参数executable_path,比如这里我将chromedriver.exe放在目录

C:\Users\19248\Desktop\安装缓存

如下
在这里插入图片描述
在这里插入图片描述

### 解决 Edge 浏览器中的 WebDriverException 异常 当在 Edge 浏览器中遇到 `WebDriverException` 异常,特别是带有 "unknown error" 的消息时,可以采取一系列措施来排查并解决问题。 #### 1. 更新驱动程序和浏览器版本 确保使用的 Microsoft Edge 和对应的 WebDriver (msedgedriver) 版本匹配。不兼容的版本组合可能会引发各种错误,包括无法识别设备端口文件等问题[^2]。 #### 2. 使用无头模式运行测试脚本 如果不需要图形界面支持,则可以通过设置 ChromeOptions 来启用 headless 模式执行自动化任务。对于某些环境配置来说,这样做能够绕过一些潜在的问题: ```python from msedge.selenium_tools import Edge, EdgeOptions options = EdgeOptions() options.use_chromium = True options.add_argument('--headless') driver = Edge(options=options) ``` #### 3. 禁用沙盒和其他实验特性 有时禁用沙盒功能可以帮助解决特定环境下发生的崩溃问题。虽然这不是推荐的做法,但在开发调试阶段值得一试: ```python options.add_argument('--no-sandbox') # 可选参数,视具体情况而定 # options.add_argument('--disable-gpu') # options.add_argument('--disable-dev-shm-usage') ``` #### 4. 设置合理的超时时间 适当增加页面加载等待时间和隐式等待的时间长度有助于提高稳定性,尤其是在网络状况不佳的情况下: ```python driver.set_page_load_timeout(60) # 单位秒 driver.implicitly_wait(10) # 隐式等待最长时间为10秒 ``` 通过上述方法调整后再次尝试运行代码应该能有效减少此类异常的发生频率。需要注意的是,在生产环境中应谨慎使用如 '--no-sandbox' 这样的选项,因为它们可能会影响系统的安全性[^3]。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值