Selenium启动Chrome浏览器报错求助
Selenium启动Chrome浏览器报错求助
别担心,刚接触编程碰到这种问题太正常啦!我仔细看了你的代码和报错信息,问题出在你用了Selenium旧版本的调用写法,但当前安装的是Selenium 4+的新版本,参数规则已经变了~
问题根源
在Selenium 3里,我们可以直接把chromedriver的路径传给webdriver.Chrome(),但Selenium 4之后,这个方法不再直接接收driver路径,而是需要通过Service类来指定driver的位置,直接传路径就会触发你看到的「找不到浏览器路径」错误。另外还要注意:你写的PATH看起来是chromedriver所在的文件夹路径,不是chromedriver文件本身的路径,这也会导致识别失败!
两种解决方法,选一个就行:
方法1:手动指定Driver路径(用Service类)
修改代码,用Service类包装你的chromedriver路径,而且要确保路径指向chromedriver文件本身:
from selenium import webdriver from selenium.webdriver.chrome.service import Service # 注意:这里要指向chromedriver文件,不是文件夹! PATH = "/Users/priyanshulal/Library/Mobile Documents/com~apple~CloudDocs/chromedriver-mac-arm64/chromedriver" service = Service(PATH) driver = webdriver.Chrome(service=service) driver.get("https://www.chess.com/") driver.close()
Mac用户额外提醒:如果运行时提示权限不足,打开终端输入下面的命令给chromedriver加执行权限:
chmod +x /Users/priyanshulal/Library/Mobile Documents/com~apple~CloudDocs/chromedriver-mac-arm64/chromedriver
方法2:用自动管理工具(更省心,适合新手)
这个方法不用自己下载和管理chromedriver,工具会自动匹配你的Chrome版本下载对应的driver:
- 先安装工具包:
pip install webdriver-manager
- 然后用下面的代码:
from selenium import webdriver from selenium.webdriver.chrome.service import Service from webdriver_manager.chrome import ChromeDriverManager # 自动安装并使用匹配当前Chrome版本的chromedriver driver = webdriver.Chrome(service=Service(ChromeDriverManager().install())) driver.get("https://www.chess.com/") driver.close()
补充注意点
- 如果用手动方法,一定要保证你的Chrome浏览器版本和chromedriver版本完全一致,不然也会出现各种奇怪的错误
- Windows用户的话,chromedriver的路径要写成类似
C:\\xxx\\chromedriver.exe(双反斜杠转义),或者用原始字符串r"C:\xxx\chromedriver.exe"
备注:内容来源于stack exchange,提问作者Priyanshu Lal
相关产品推荐
相关产品推荐

