首页 > 解决方案 > 如何在 Selenium 中立即调用 driver.quit()?

问题描述

每当我调用driver.quit()它时,它都会等待网站首先完成加载然后关闭浏览器,有什么办法可以立即强制关闭浏览器?

标签: javascriptnode.jsseleniumselenium-webdriverpageloadstrategy

解决方案


当您调用get()使用Seleniumurl时,许多操作会在后台发生,包括geckodriver 接收到的 HTTP 请求、发送到和从 Firefox 中的远程协议发送的数据包,以及发送回客户端的响应

一旦基本的强制请求/响应成功完成,浏览器即客户端根据pageLoadStrategy将程序控制发送回Selenium以执行下一行代码。

现在pageLoadStrategy可以是以下任何一种:

  • normail:这种策略导致 Selenium 等待整个页面加载(下载和解析 html 内容和子资源)。
  • eager:这种策略导致 Selenium 等待 DOMContentLoaded 事件(仅下载和解析 html 内容)。
  • none:此策略导致 Selenium 在完全接收到初始页面内容(已下载 html 内容)后立即返回。

所以一旦程序控制基于pageLoadStrategy返回给Selenium ,这有点时间限制,那么只能执行。driver.quit()


推荐阅读