Подтвердить что ты не робот

При использовании Selenium Webdriver я получаю следующую ошибку, используя InternetExplorerDriver - "Неожиданная ошибка запуска Internet Explorer..."

Я пытаюсь создать экземпляр InternetExplorerDriver на С#, и каждый раз, когда я это делаю, я получаю следующее сообщение об ошибке:

System.InvalidOperationException: непредвиденная ошибка при запуске Internet Explorer. Защищенный режим должен быть установлен на одно и то же значение (включено или отключено) для всех зон. (NoSuchDriver)

Теперь я не уверен, как это разобраться, но строка кода, которая вызывает эту ошибку:

IWebDriver driver = new InternetExplorerDriver();

Документация для InternetExplorerDriver предполагает, что я могу передать объект ICapabilities в перегруженном конструкторе, но имеет только свойства BrowserName, IsJavaScriptEnabled, Platform и Version. Ничто из этого не говорит о том, что они могут решить проблему.

Есть ли что-то, что мне нужно сделать в реализации, чтобы разобраться в этом? Или мне нужно изменить некоторые настройки в самом IE9?

4b9b3361

Ответ 1

Internet Explorer определяет четыре зоны, каждый с другим уровнем безопасности и возможность включения или выключения защищенного режима. Сообщение об ошибке пытается сказать вам, что Защищенный режим должен быть отключен или включен для зон all из-за ограничения в Selenium InternetExplorerDriver.

Подробнее см. в отчете в отчете о проблемах с дефектами Selenium и снимок экрана параметров безопасности Internet Explorer.

Ответ 2

Для справки, если вы хотите переопределить параметры безопасности здесь, код С#:

using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.IE;

namespace SeleniumTests
{
    [TestFixture]
    public class Test
    {
       private IWebDriver driver;

       [SetUp]
       public void Setup()
       {
          var options = new InternetExplorerOptions();
          options.IntroduceInstabilityByIgnoringProtectedModeSettings = true;
          driver = new InternetExplorerDriver(options);
       }
    }
}

Update:
Мой предыдущий ответ использовал более старую версию Selenium 2.0, теперь я обновил код для работы с Selenium DotNet-2.21.0 и включил правильные пространства имен.

Ответ 3

Это должно решить проблему:

InternetExplorerOptions options = new InternetExplorerOptions();
options.IntroduceInstabilityByIgnoringProtectedModeSettings = true;
IWebDriver driver = new InternetExplorerDriver(options);

Ответ 4

Aleh Answer разрешил проблему для меня, но я обнаружил, что мне также нужно указать путь к файлу для расположения IEDriverServer. Просто опубликуйте, если кто-то другой столкнется с подобной проблемой.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OpenQA.Selenium;
using OpenQA.Selenium.IE;
using OpenQA.Selenium.Support.UI;

namespace SeleniumTest
{
    class Program
    {
        static void Main(string[] args)
        {
            InternetExplorerOptions options = new InternetExplorerOptions();
            options.IntroduceInstabilityByIgnoringProtectedModeSettings = true;

            IWebDriver driver = new InternetExplorerDriver("C:\\Selenium", options);

            driver.Navigate().GoToUrl("http://www.stackoverflow.com");
        }
    }
}

Ответ 5

Я обнаружил, что для меня работали (ни один из ответов выше не работал)

DesiredCapabilities desiredCapabilities = new DesiredCapabilities();
desiredCapabilities.SetCapability(InternetExplorerDriver.IntroduceInstabilityByIgnoringProtectedModeSettings, true);
driver = new InternetExplorerDriver(desiredCapabilities);

Я обнаружил, что это сработало, но я также получил сообщение "(Unexpected Alert Open)", когда я попытался запустить тест, и все, что оказалось, мне пришлось отключить панель инструментов разработчика IE.

Ответ 6

Ссылка: - https://intensetesting.wordpress.com/2014/09/16/error-80070012-unexpected-error-launching-spoon-based-internet-explorer/

Если вы обновляете или деградируете собственный браузер IE, который был установлен во время установки ОС, он не позволит открыть браузеры с ложкой. Каждый раз, когда нам нужно создать браузер IE по умолчанию, он будет работать. Предположим, что, когда вы установили ОС, IE по умолчанию IE8, и для какой-то цели вы перешли на IE9. В этом случае он не позволит осуществлять навигацию по любому приложению в браузерах Spoon (только браузер откроется), и он просто выкинет сообщение об ошибке, например "Неожиданная ошибка запуска Internet Explorer IELaunchURL error 80070012".

Ответ 7

У меня была схожая проблема на сервере, который был построен, и у меня не было способа изменить защищенный режим. Системный администратор был отключен. Даже когда я вошел в систему с учетной записью администратора, мне не удалось изменить защищенный режим. Тем не менее, я смог без проблем запустить селен.