M1 Mac下VS Code中Selenium导入错误及浏览器闪退求助
解决方案
一、搞定selenium.webdriver.common.keys导入失败
- 先查Selenium版本:终端执行
pip show selenium,要是版本低于4.0,直接升级:pip install --upgrade selenium - 确认Python是arm64架构:终端跑
python -c "import platform; print(platform.machine())",输出得是arm64,要是显示x86_64,说明用了Rosetta转译的Python,去Python官网下载arm64版本安装即可 - 升级后仍无法导入的话,先卸载再重装Selenium:
pip uninstall selenium,接着执行pip install selenium
二、解决Chrome打开就闪退的问题
- 给chromedriver添加可执行权限:终端进入chromedriver所在文件夹,执行
chmod +x chromedriver - 指定Chrome完整路径并添加保持浏览器开启的选项,修改代码如下:
from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.chrome.options import Options options = Options() # M1 Mac默认Chrome路径,若修改过安装位置请对应调整 options.binary_location = "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" # 开启该选项后,浏览器不会随代码执行结束而关闭,方便调试 options.add_experimental_option("detach", True) driver = webdriver.Chrome(options=options) driver.get("https://www.google.com/")
- 核对chromedriver与Chrome版本:Chrome地址栏输入
chrome://version/查看版本,chromedriver的版本必须和Chrome主版本(比如112)完全一致,小版本也需对应 - 若使用VS Code虚拟环境,需确认虚拟环境的Python是arm64架构,还可直接在代码中指定chromedriver路径:
driver = webdriver.Chrome(executable_path="/你的chromedriver完整路径/chromedriver", options=options)
内容的提问来源于stack exchange,提问作者Parcyun
相关产品推荐
相关产品推荐

