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

如何使用Python的Selenium关闭并重启浏览器?求示例代码及问题解决

问题原因分析

用driver.close()关闭浏览器后,原有的driver对象已经和浏览器进程彻底断开连接,此时再调用driver.get()必然报错——因为该driver实例已完全失效。要重新启动浏览器,必须重新初始化WebDriver对象。

另外补充:driver.close()仅关闭当前标签页;如果浏览器只剩最后一个标签页,浏览器会随之退出,但无论哪种情况,原driver实例都无法复用。若要彻底终止浏览器进程,建议使用driver.quit(),它会关闭所有标签页并结束整个浏览器进程。

正确实现代码示例
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

# 初始化第一个浏览器实例
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
driver.get("https://www.google.com")

# 执行操作后彻底关闭浏览器
driver.quit()

# 重新初始化浏览器实例,实现重启
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
driver.get("https://www.google.com")

# 操作完成后再次关闭浏览器
driver.quit()
额外场景处理(无需重启浏览器,仅切换标签页)

如果只是想关闭当前标签页并打开新页面,不需要重启整个浏览器,可以用以下方式:

# 打开新标签页
driver.execute_script("window.open('');")
# 切换到新标签页(window_handles按打开顺序存储标签页句柄)
driver.switch_to.window(driver.window_handles[1])
driver.get("https://www.google.com")

# 关闭当前标签页
driver.close()
# 切回原来的标签页
driver.switch_to.window(driver.window_handles[0])

内容的提问来源于stack exchange,提问作者Murali Raju Nadakuditi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 13:10:28