防止弹出窗口关闭时开发人员工具窗口关闭

apo*_*fos 5 google-chrome google-chrome-devtools

我正在尝试调试登录窗口。这个过程是这样的:

  1. 用户访问站点A
  2. 用户单击以使用 OAuth2 提供商站点 B 登录
  3. 站点 B 将打开一个弹出窗口,提示用户输入凭据
  4. 登录完成后,站点 B 会重定向到站点 A 的指定页面。
  5. 站点 A 将关闭弹出窗口并使用从站点 B 获取的 OAuth2 连接数据让用户登录。

如果用户已经通过站点 B 登录,则弹出窗口将打开并经历相同的过程,但“立即”关闭(意味着它直接跳转到重定向,而不需要用户的凭据)。发生这种情况是因为站点 A 过去已被用户预先授权通过站点 B 进行连接。

我们控制站点 B,但不控制站点 A。

现在,我们正在尝试诊断此过程中存在的问题,但遇到了困难。为此,我们尝试在站点 B 弹出窗口上保持开发人员工具窗口打开。开发工具窗口会自动打开,因为我已经使用标志启动了 chrome,--auto-open-devtools-for-tabs但是当窗口关闭时,开发工具选项卡也会关闭,我将丢失在此过程中实际发生的所有信息。我的问题是,在关闭窗口后是否可以保持开发工具窗口打开。

这个问题类似于如何防止 Chrome 开发人员工具在当前浏览器窗口关闭时关闭?但它有以下不同:

我们无法为窗口卸载事件添加断点,因为加载和卸载是立即发生的。我们需要的是即使窗口关闭后也不会关闭开发工具的东西。

有没有办法让开发工具保持打开状态,或者至少在卸载时保存它的快照,而不必在窗口实际打开时执行此操作?我们记得类似命令行标志或断点之类的东西吗?

编辑:我在保留网络选项卡日志方面取得了部分进展,方法是--log-net-log=<filename>.json将所有请求转储到文件中以便稍后检查。虽然这实际上并没有回答我的问题,但它在帮助方面大有帮助,并且足够有用,可以提及,以防它对其他人有用。