我想在 Selenium 的 Edge-ie 模式下处理多个 windows

I want to handle multiple windows in Edge-ie mode from Selenium

我是 运行 Selenium 上的 Edge-ie 模式

使用版本如下

硒:3.141 (java)

IE驱动程序:3.150.1

至此,我开启Edge-ie模式,能够操作第一屏 但是,当我打开另一个屏幕时,我无法获取 window 句柄, 无法操作

评论说这是因为不支持IE驱动 (Browser.cpp 行号 116 到 121)

if (this-> is_edge_chromium_) {
    LOG (TRACE) << "Entering Browser :: NewWindow3 but early exiting due to edge mode";
    // In Edge Chromium, we do not yet support attaching to new windows.
    // Quit early and ignore that event.
    return;
  }

我想我需要修改 ieDriver 以在 Edge-ie 模式下与另一个屏幕交互 而现在我觉得有必要在以下几个地方打开Edge-ie模式而不是ie (BrowserFactory.cpp 行号 793 到 805)

  if (is_protected_mode) {
    hr = :: CoCreateInstance (CLSID_InternetExplorer,
                            NULL,
                            context,
                            IID_IWebBrowser2,
                            reinterpret_cast <void **> (& browser));
  } else {
    hr = :: CoCreateInstance (CLSID_InternetExplorerMedium,
                            NULL,
                            context,
                            IID_IWebBrowser2,
                            reinterpret_cast <void **> (& browser));
  }

如何在上述位置启动Edge-ie模式? 有没有其他方法可以修复 IE 驱动程序? (由 Google 翻译)

Edge IE模式应该由IE驱动来驱动。您提到的情况与GitHub上的this issue有关。官方还没有修复,所以Selenium在Edge IE模式下无法处理多个windows。建议您将此问题反馈给相关产品团队。