Selenium是否仍需指定ChromeDriver?为何无需配置可运行?能否指定Chrome版本?
Selenium无需指定ChromeDriver路径运行的原因及指定特定Chrome版本的方法
为什么不用指定ChromeDriver路径也能正常运行?
- 从Selenium 4.x版本开始,内置了Selenium Manager工具,它会自动完成以下操作:检测本地Chrome浏览器版本,自动下载匹配的ChromeDriver;如果系统环境变量
PATH中已经存在对应版本的ChromeDriver,也会自动识别并调用。 - 若你之前手动安装过ChromeDriver,且其所在目录已添加到系统
PATH里,Selenium会直接从PATH中找到驱动文件,无需手动指定路径。 - 部分Python包管理工具在安装Selenium时,会自动配置好驱动的相关路径,省去手动设置的步骤。
可以指定特定版本的Chrome运行吗?
当然可以,以下是两种常用方法:
方法一:通过ChromeOptions指定Chrome二进制文件路径
找到你需要使用的特定版本Chrome的安装路径,通过ChromeOptions配置二进制文件位置:
from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options = Options() # 根据你的操作系统替换路径: # Windows示例: chrome_options.binary_location = r"C:\Program Files\Google\Chrome\Application\chrome.exe" # macOS示例: # chrome_options.binary_location = "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" # Linux示例: # chrome_options.binary_location = "/usr/bin/google-chrome-stable" driver = webdriver.Chrome(options=chrome_options) driver.get("example.com")
方法二:通过Selenium Manager下载指定版本的Chrome
如果本地未安装目标版本的Chrome,可以通过设置环境变量,让Selenium Manager自动下载对应版本的Chrome及匹配的ChromeDriver:
import os # 设置要使用的Chrome版本号 os.environ["SE_MANAGER_CHROME_VERSION"] = "114.0.5735.90" from selenium import webdriver driver = webdriver.Chrome() driver.get("example.com")
注意:该方法需要网络正常,且不同系统的支持情况可能略有差异。
内容的提问来源于stack exchange,提问作者ZFCrow
相关产品推荐
相关产品推荐

