#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. Я предлагаю вам оставить отзыв об этой проблеме соответствующей команде разработчиков.