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

Python中使用Selenium如何让Chrome测试浏览器运行代码后不自动关闭

解决Selenium4运行后Chrome自动关闭的方案

造成该问题的核心原因是Selenium默认会在所有代码执行完成后自动销毁webdriver实例,关联的Chrome窗口也会被同步关闭,可通过以下两种方案实现代码跑完后浏览器不关闭:

方案1:开启Chrome的detach实验选项(推荐)

这是最适配Selenium4的永久生效方案,开启后只要你不手动关闭Chrome窗口,或者手动调用driver.quit(),窗口就会一直保留。
修改后的完整适配代码如下:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By

# 配置Chrome选项
chrome_options = webdriver.ChromeOptions()
chrome_options.add_experimental_option("detach", True)

# 初始化driver
driver = webdriver.Chrome(
    service=ChromeService(ChromeDriverManager().install()),
    options=chrome_options
)

driver.get("Gmail登录页的完整URL") # 原代码缺失打开目标站点的步骤,需补充避免找不到元素报错
# Selenium4已弃用旧的find_element_by_*写法,推荐使用以下标准写法
loginBox = driver.find_element(By.XPATH, '//*[@id="identifierId"]')
loginBox.send_keys("email here")

nextButton = driver.find_elements(By.XPATH, '//*[@id="identifierNext"]')
nextButton[0].click()

方案2:添加代码阻塞流程

如果只是临时需要停留浏览器调试,可以在代码末尾加阻塞逻辑,让脚本不会立刻执行完成:

  • 手动触发退出:在代码最后一行加input("按回车键后关闭浏览器..."),主动按回车后脚本才会执行完毕,窗口才会关闭
  • 固定时长停留:导入time模块,在代码最后加time.sleep(300),单位为秒,示例为停留5分钟后自动关闭

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 18:15:03