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

使用Selenium启动Chrome加载URL后浏览器立即自动关闭如何解决

问题原因

Selenium启动Chrome浏览器时,默认逻辑是:当脚本所有代码执行完毕后,会自动终止驱动关联的Chrome进程。你写的代码在执行完driver.get(url)完成页面加载后,没有任何保持程序运行的阻塞逻辑,脚本直接运行到末尾退出,Chrome就会随之自动关闭。
额外说明:代码中webdriver.Chrome(ChromeDriverManager().install())是旧版本Selenium的驱动初始化写法,Selenium 4.6及以上版本已经内置Selenium Manager自动管理驱动,不需要额外依赖webdriver_manager获取驱动路径,但这个写法兼容旧版本,不是导致浏览器自动关闭的核心原因。

解决方法
  • 方案1:在代码末尾添加阻塞逻辑,阻止脚本直接运行结束。最简便的实现是添加输入等待语句,脚本运行到该语句时会暂停,直到你手动按下回车才会继续执行后续退出逻辑,期间浏览器会一直保持打开状态。
    需要在driver.get(url)后添加的代码如下:
    input("按下回车键后将关闭浏览器...")
    
  • 方案2:配置Chrome实验选项,开启detach分离模式。该模式下Selenium脚本运行结束后,不会主动关闭启动的Chrome浏览器。
    修改后的完整可运行代码如下:
    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    from webdriver_manager.chrome import ChromeDriverManager
    
    url = 'https://www.gmail.com'
    chrome_options = Options()
    # 开启分离模式,脚本退出不关闭浏览器
    chrome_options.add_experimental_option("detach", True)
    driver = webdriver.Chrome(ChromeDriverManager().install(), options=chrome_options)
    driver.get(url)
    
    注意:开启detach模式后,浏览器不会随脚本退出自动关闭,使用完成后需要手动关闭浏览器进程。
    如果你使用的是Selenium 4.6+版本,可以移除webdriver_manager相关依赖,直接用内置的驱动管理能力初始化,简化后的代码如下:
    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    
    url = 'https://www.gmail.com'
    chrome_options = Options()
    chrome_options.add_experimental_option("detach", True)
    driver = webdriver.Chrome(options=chrome_options)
    driver.get(url)
    

内容的提问来源于stack exchange,提问作者Fahim Foysal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 04:31:11