Selenium下载Webdriver驱动

问题

下载了Webdriver并且将Webdriver的文件夹配置到了环境变量,但是执行Selenium脚本没有打开对应的浏览器或报错。

产生原因

Webdriver版本没有和本机浏览器版本对应

解决办法

首先查看自己本机浏览器的版本,例:

之后找到对应的Webdriver仓库,下载对应版本的Webdriver,版本要求为(大版本号对应即可,小版本号不做要求)

Webdriver仓库地址:

ChromeDriver
EdgeDriver
FireFoxDriver

还有一个小技巧,比如要下载chromedriver的驱动,可以随意找一个对应平台的下载链接,将链接中的版本号修改为自己本机浏览器地址,如下图所示:

image

接下来就可以配置环境变量到chromedriver.exe或chromedriver上层目录即可

在代码中指定路径

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

service = Service(executable_path="(此处更换为你自己的路径)/Users/ann/PycharmProjects/drivers/127.0.6533.120/chromedriver")
driver = webdriver.Chrome(service=service)

使用第三方库webdriver_manager

首先安装

pip install webdriver-manager

下面就是一个简单的示例说明如何使用它来启动Chrome

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

# 使用 webdriver_manager 自动下载并启动 Chrome WebDriver
driver = webdriver.Chrome(ChromeDriverManager().install())

# 打开一个网站
driver.get("https://ceshiren.com/")

# 关闭浏览器
driver.quit()

webdriver_manager 会将下载的 WebDriver 文件存储在本地缓存目录中。它的默认缓存位置是根据操作系统定义的:

  • Windows: C:/Users/<用户名>/.wdm/drivers

  • macOS 和 Linux: /Users/<用户名>/.wdm/drivers

这个缓存机制使得 webdriver_manager 在第二次启动时,可以直接使用已经下载的 WebDriver,而不需要每次都重新下载。