IE11 Selenium WebDriverException: не удалось перейти. (org.openqa.selenium.WebDriverException IWebBrowser2 :: Navigate2 () не удалось

Я новичок в автоматизированном тестировании, и хотя мои тесты Selenium работают в Chrome и Firefox, они не работают в IE11. Я выполнил все проверки, подробно описанные ниже, но все время натыкаюсь на эту ошибку:

org.openqa.selenium.WebDriverException: Failed to navigate to http://myapp. This usually means that a call to the COM method IWebBrowser2::Navigate2() failed.

Сначала я выполнил требуемую конфигурацию, как в https://code.google.com/p/selenium/wiki/InternetExplorerDriver#Required_Configuration).

Я пробовал редактировать свой реестр, как это было предложено на В IE: org.openqa.selenium.WebDriverException: обычно это означает, что вызов COM-метода IWebBrowser2 :: Navigate2 () не удался в HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Internet Explorer \ MAIN \ FeatureControl \ FEATURE_HTTP_USERNAME_PASSWORD_DISABLE добавьте новое значение DWORD с именем iexplore.exe и значением 0, как описано в https://stackoverflow.com/users/80779/lordofthepigs

Я также попытался представить фрагмент кода, предложенный https://stackoverflow.com/users/4210466/karunakar-sapogu:

new_window = self.driver.window_handles[1]   
self.driver.switch_to_window(new_window)

Но, похоже, я неправильно это представляю, потому что у меня есть ошибки java.

Кто-нибудь решил эту проблему на Яве? Не могли бы вы дать мне пошаговые инструкции?


person Cristina Gil Lamaignere    schedule 20.08.2015    source источник


Ответы (3)


1) Вы уверены, что ваш экземпляр IEdriver запущен?

2) Вы использовали IEdriver x64 или IEDriver x86?

Даже если вы используете x64 windows, в большинстве случаев вы используете internet exlporer x86. Пожалуйста, попробуйте драйвер x86 и попробуйте воспроизвести такое поведение

person Andrew    schedule 25.08.2015
comment
Мне удается открыть браузер IE и перейти на мою домашнюю страницу, но тогда он не перейдет по второй ссылке. Я использую x64, так как на моем компьютере 64-битная Windows - person Cristina Gil Lamaignere; 26.08.2015
comment
даже если вы используете x64 windows, в большинстве случаев вы используете internet exlporer x86. Пожалуйста, попробуйте драйвер x86 и попробуйте воспроизвести такое поведение. - person Andrew; 27.08.2015

Это сработало! Большое спасибо. Проблема была в том, что у меня была 64-битная версия. Заменив его 32-битной версией, мой код заработал (у меня есть драйвер в System32, чтобы обойти изменение пути)

    System.setProperty(webdriver.ie.driver", "C://Windows/System32/IEDriverServer.exe");
    driver = new InternetExplorerDriver();
    baseUrl = "http://mysite";
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
person Cristina Gil Lamaignere    schedule 14.09.2015

Это сообщение об ошибке ...

org.openqa.selenium.WebDriverException: Failed to navigate to http://myapp. This usually means that a call to the COM method IWebBrowser2::Navigate2() failed

... означает, что IEDriverServer не смог инициировать / создать новый контекст просмотра, то есть сеанс браузера Internet Explorer в качестве COM-объекта.


Требуемая конфигурация для драйвера Internet Explorer

Требуемая конфигурация Драйвер Internet Explorer четко упоминает:

  • IEDriverServer Exectuable должен быть загружен и помещен в ваш PATH.
  • В IE 7 или более поздних версиях в Windows Vista или Windows 7 необходимо установить одинаковые значения параметров защищенного режима для каждой зоны. Значение может быть включено или выключено, если оно одинаково для каждой зоны. Чтобы установить параметры защищенного режима, выберите «Свойства обозревателя ...» в меню «Инструменты» и перейдите на вкладку «Безопасность». Для каждой зоны в нижней части вкладки будет установлен флажок «Включить защищенный режим».

ProtectedModeSettings

  • Кроме того, расширенный защищенный режим должен быть отключен для IE 10 и выше. Этот параметр находится на вкладке Advanced диалогового окна "Свойства обозревателя".
  • Уровень масштабирования браузера должен быть установлен на 100%, чтобы для собственных событий мыши можно было установить правильные координаты.
  • Для Windows 10 вам также необходимо установить Изменить размер текста, приложений и других элементов на 100% в настройках отображения.
  • Только для IE 11 вам нужно будет установить запись в реестре на целевом компьютере, чтобы драйвер мог поддерживать соединение с экземпляром Internet Explorer, который он создает.
  • Для 32-битных установок Windows ключ, который вы должны проверить в редакторе реестра, - это HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE.
  • Для 64-битных установок Windows ключ - HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE.
  • Обратите внимание, что подраздел FEATURE_BFCACHE может присутствовать, а может и отсутствовать, и должен быть создан, если он отсутствует. Внутри этого ключа создайте значение DWORD с именем iexplore.exe со значением 0`.

Решение

Во-первых, вам необходимо убедиться, что в настройках Защищенного режима для каждой зоны установлено одинаковое значение. Кроме того, вам также необходимо обеспечить Требуемую конфигурацию для драйвера Internet Explorer.


использованная литература

Вы можете найти пару соответствующих обсуждений в:

person DebanjanB    schedule 14.07.2020