You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3中Selenium ChromeDriver启动报错chrome not reachable求助

解决Selenium ChromeDriver的chrome not reachable错误

我来帮你排查这个chrome not reachable的问题,这是Selenium和ChromeDriver配合时非常常见的报错,我整理了几个大概率能解决的方案,你可以按顺序尝试:

1. 优先检查ChromeDriver和Chrome版本是否匹配

这是最常见的触发原因!ChromeDriver的版本必须和你本地安装的Chrome浏览器大版本完全一致(比如Chrome是119.x,ChromeDriver也要用119.x的版本,小版本差异影响不大)。

  • 查看Chrome版本:打开Chrome → 右上角三个点 → 帮助 → 关于Google Chrome,就能看到具体版本号。
  • 解决办法:下载对应版本的ChromeDriver替换你当前的驱动文件,确保版本匹配。

2. 优化Driver实例的管理,避免重复创建

你现在的goTo()函数每次调用都会新建一个ChromeDriver实例,如果之前的实例没有被正确关闭,很容易导致端口占用、进程冲突,进而触发“chrome not reachable”。
这里给你优化一下代码,推荐用全局实例+正确关闭的方式:

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

# 全局维护一个Driver实例,避免重复初始化
driver = None

def goTo(target_url):
    global driver
    if driver is None:
        # 使用Service类是Selenium 4及以上版本的规范写法,比直接传executable_path更稳妥
        service = Service(r'C:\Users\alice\Desktop\chromedriver')
        driver = webdriver.Chrome(service=service)
        # 添加隐式等待,提升页面加载的稳定性
        driver.implicitly_wait(10)
    driver.get(target_url)

# 使用示例
if __name__ == "__main__":
    goTo('https://reports.blm.gov/report/LR2000/23/Pub-MC-Geo-Index')
    # 记得在脚本结束时彻底关闭Driver进程
    # driver.quit()

注意:一定要用driver.quit()来关闭,而不是driver.close()——后者只关闭当前标签页,不会终止ChromeDriver进程,容易残留后台进程引发问题。

3. 检查Chrome浏览器本身是否正常运行

有时候本地Chrome浏览器损坏、被后台进程占用,也会导致Driver无法连接:

  • 先手动打开Chrome,确认能正常启动和访问网页;
  • 打开任务管理器,结束所有和Chrome相关的进程(包括chrome.exe和chromedriver.exe),然后重新运行你的代码。

4. 添加Chrome启动参数,解决环境兼容问题

某些系统环境下,Chrome的沙箱模式或GPU加速会干扰Driver的连接,你可以尝试添加以下启动参数:

from selenium.webdriver.chrome.options import Options

def goTo():
    chrome_options = Options()
    # 禁用沙箱模式(适合受限环境,Windows/Linux都可以试试)
    chrome_options.add_argument('--no-sandbox')
    # 禁用GPU加速,避免渲染相关的连接问题
    chrome_options.add_argument('--disable-gpu')
    # 指定固定的调试端口,确保Driver和Chrome能正常通信
    chrome_options.add_argument('--remote-debugging-port=9222')
    
    service = Service(r'C:\Users\alice\Desktop\chromedriver')
    driver = webdriver.Chrome(service=service, options=chrome_options)
    driver.get('https://reports.blm.gov/report/LR2000/23/Pub-MC-Geo-Index')

5. 再次确认ChromeDriver的文件路径

虽然你用了r前缀避免转义问题,但还是要确认chromedriver.exe确实存在于C:\Users\alice\Desktop\这个路径下,文件名没有拼写错误。如果嫌绝对路径麻烦,可以把chromedriver放到Python的Scripts目录下(比如C:\PythonXX\Scripts),这样直接写webdriver.Chrome()就能自动找到驱动了。


内容的提问来源于stack exchange,提问作者Alice Hsieh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:36:13