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

迁移至SeleniumBase后,如何手动销毁WebDriver实例?

解决SeleniumBase实例手动销毁问题

对于长期运行的进程,无需局限于with SB(...) as sb的上下文管理模式,你可以直接实例化SeleniumBase对象并全局存储,之后通过以下方式手动销毁实例:

  • 直接实例化对象:跳过with语句,直接执行sb = SB(...),这样对象就能在全局作用域中留存使用。
  • 彻底销毁实例:调用sb.quit()方法,该方法会关闭所有关联浏览器窗口、终止ChromeDriver进程,完全清理实例占用的资源,效果等同于原生Selenium的driver.quit()。
  • 仅关闭当前窗口:如果只需关闭当前活动窗口但保留实例后续使用,可调用sb.close(),逻辑和原生Selenium的driver.close()一致。

代码示例

# 全局存储SeleniumBase实例
global_sb = None

def init_selenium_base():
    global global_sb
    # 根据实际需求配置参数(如remote模式、浏览器类型等)
    global_sb = SB(browser="chrome", remote=True, remote_url="你的RemoteWebDriver地址")

def destroy_selenium_base():
    global global_sb
    if global_sb is not None:
        # 销毁实例并释放资源
        global_sb.quit()
        global_sb = None

# 使用流程示例
init_selenium_base()
# 执行各类浏览器操作...
destroy_selenium_base()
# 后续需要时可重新初始化实例
init_selenium_base()

需要注意:调用sb.quit()后,该实例无法再用于浏览器操作,必须重新初始化新实例才能继续使用,这和原生RemoteWebDriver的使用逻辑完全匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 02:48:13