为什么Selenium下的Chrome开发人员工具中没有显示对iFrame的网络请求?

时间:2018-11-13 12:05:24

标签: webdriver google-chrome-devtools selenium-chromedriver google-contacts

我有一个用例,需要从Chrome的“网络”标签中检索启动器。除以下情况外,此方法工作正常:

  • iframe是HTTPS;
  • 附页为HTTP;
  • 该页面由Selenium打开

在这种情况下,“网络”标签(以及调试协议上的任何扩展名)均显示对iframe内容的提取将永远处于未决状态,并且不会发出任何子负载。

将页面网址更改为HTTPS,然后加载iframe并显示子加载。

如果我手动控制打开Selenium的浏览器并打开一个新选项卡,则获取是通过HTTP还是HTTPS都没有关系。确实只有webdriver在加载时创建的选项卡似乎会受到这种影响。

正在发挥某种安全保护作用,还是只是一个怪异的错误?

1 个答案:

答案 0 :(得分:0)

这似乎是由于进程外iFrame隔离引起的。

通过将--disable-features=IsolateOrigins,site-per-process传递给Chrome进程,即可显示iFrame网络跟踪。