IE11 завершается с ошибкой «Netscape не поддерживается, пожалуйста, использовали Internet Explorer» при запуске Selenium

1

У меня есть довольно старый веб-сайт для поддержки, поддержка IE8 и выше. Теперь у меня есть план сделать автоматизацию тестирования на сайте, используя Selenium WebDriver (версия 3.7.1). Почти все работает хорошо, за исключением некоторых страниц, которые используют document.getElementById(). Дело в том, что на этих страницах используется "функция" IE11, которая, когда ни один элемент не соответствует указанному идентификатору, затем возвращает элемент с этим идентификатором как имя (как указано в этом потоке).
И когда brower (IE11) начинается с селена, он не может вызвать этот код (возвращает NULL, вызывая ошибку).
Дальнейшее исследование, я обнаружил, что при запуске вручную вызов navigator.appName возвращает "Microsoft Internet Explorer", а в другом случае возвращает "Netscape".
Что означает эта разница и является основной причиной моей проблемы. И самое главное, как это решить?

Я запускаю страницу с этим исходным кодом:

DesiredCapabilities ieCapabilities = DesiredCapabilities.internetExplorer();
WebDriver driver = new InternetExplorerDriver(
                    new InternetExplorerOptions(ieCapabilities));
wait = new WebDriverWait(driver, 30);
driver.get(url);
  • 0
    Можете ли вы проверить, связано ли это с режимом совместимости IE Document? Я подозреваю, что они могут отличаться в двух случаях, которые могут быть причиной проблемы
  • 0
    Какой Selenium Client вы используете? Java / JavaScript ?
Теги:
internet-explorer-11
selenium

1 ответ

1
Лучший ответ

Как вы упомянули, при invoking navigator.appName returns "Microsoft Internet Explorer" while returns "Netscape" in the other case является редким, но преобладающим сценарием. Полная ошибка читается как:

"Netscape is not supported please used internet explorer "

Решение:

Чтобы решить эту проблему, вы должны учитывать следующие моменты:

  • Internet Explorer Driver работает в реальном браузере и поддерживает Javascript.
  • Старайтесь избегать Add On Internet Explorer
  • Если вам нужно использовать обязательные Add On, (для всех пользователей IE9, IE10, IE11 и Windows 8)

    1. Open the desired website in Internet Explorer
    2. Go to "Compatibility View settings" (image shown below)
    3. In a dialog box add your website in the list.
    e.g. if you are trying to use "ssconline.nic.in" , then add "nic.in" in the list 
    

Изображение 174551

  • 1
    Ваше предложение о настройке параметров совместимости IE спасло меня !!! После добавления URL-адреса моего веб-сайта в список совместимости он корректно включает режим совместимости при запуске страницы селеном, а JavaScript возвращает «Microsoft Internet Explorer» для navigator.appName, как и ожидалось. Но поможет ли кто-нибудь мне понять, почему IE, запущенный Selenium, отказывается включать режим совместимости автоматически, как при запуске вручную?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню