Я хочу обрабатывать несколько окон в режиме Edge-ie из Selenium

#c #selenium #selenium-webdriver #microsoft-edge #selenium-iedriver

Вопрос:

Я использую режим Edge-ie на Selenium

Версия использования выглядит следующим образом

Селен: 3.141 (java)

IEDriver: 3.150.1

До сих пор я запускал режим Edge-ie и мог управлять первым экраном, однако, когда я открываю другой экран, я не могу получить дескриптор окна, не могу работать

Отмечается, что это связано с тем, что драйвер 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 **> (amp; browser));
  } else {
    hr = :: CoCreateInstance (CLSID_InternetExplorerMedium,
                            NULL,
                            context,
                            IID_IWebBrowser2,
                            reinterpret_cast <void **> (amp; browser));
  }
 

Как я могу запустить режим Edge-ie в указанном выше месте?
Есть ли какой-либо другой способ исправить драйвер IE?
(С Помощью Google Translate)

Ответ №1:

Режим Edge IE должен управляться драйвером IE. Ситуация, о которой вы упомянули, связана с этой проблемой на GitHub. Официальный представитель еще не исправил это, поэтому нет возможности обрабатывать несколько окон в режиме Edge IE от Selenium. Я предлагаю вам оставить отзыв об этой проблеме соответствующей команде разработчиков.