Python中使用Selenium运行Chromium时chromedriver意外退出的问题求助
Python中使用Selenium运行Chromium时chromedriver意外退出的问题求助
我想在Python脚本里用Selenium启动Chromium,但总是遇到chromedriver意外退出的问题,报错信息如下:
selenium.common.exceptions.WebDriverException: Message: Service /usr/bin/chromedriver unexpectedly exited. Status code was: 1
我的测试代码是这样的:
from selenium import webdriver from selenium.webdriver.chrome.service import Service service = Service("/usr/bin/chromedriver") driver = webdriver.Chrome(service=service) driver.get("https://www.google.com") print(driver.title) driver.quit()
我已经用which chromedriver确认过chromedriver的路径确实是/usr/bin/chromedriver,但还是报错,有没有朋友能帮忙分析下问题出在哪?
可能的解决方法:
优先检查版本匹配问题:这是这类报错最常见的原因!chromedriver的版本必须和你安装的Chromium主版本完全对应。你可以通过终端执行
chromium --version查看浏览器版本,然后去下载对应版本的chromedriver替换掉/usr/bin/chromedriver。添加必要的启动参数:如果是在无桌面环境(比如服务器)运行,或者系统有安全限制,需要添加无头模式和禁用沙箱等参数,修改后的代码如下:
from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options options = Options() options.add_argument("--headless=new") # 启用无头模式,适合无桌面环境 options.add_argument("--no-sandbox") # 禁用沙箱,部分系统环境下必须设置 options.add_argument("--disable-dev-shm-usage") # 解决/dev/shm临时空间不足的问题 service = Service("/usr/bin/chromedriver") driver = webdriver.Chrome(service=service, options=options) driver.get("https://www.google.com") print(driver.title) driver.quit()
- 检查chromedriver的可执行权限:确保
/usr/bin/chromedriver有执行权限,执行以下命令赋予权限:
chmod +x /usr/bin/chromedriver
- 查看详细日志定位问题:可以让chromedriver生成日志文件,查看具体退出原因,修改Service初始化代码:
service = Service("/usr/bin/chromedriver", log_path="chromedriver.log")
运行脚本后查看生成的chromedriver.log,里面会有更具体的错误提示,比如依赖库缺失、配置错误等。
- 安装Chromium依赖库:如果系统缺少Chromium运行所需的依赖,也会导致启动失败。以Ubuntu为例,可以尝试安装这些常用依赖:
sudo apt-get install libnss3 libgconf-2-4 libxss1 libappindicator1 libindicator7
备注:内容来源于stack exchange,提问作者vojtam
相关产品推荐
相关产品推荐

