Как создать экземпляр InternetExplorerDriver с помощью Selenium WebDriver с помощью C#

new InternetExplorerDriver();

Но я мог видеть исключение, как показано ниже:

OpenQA.Selenium.DriverServiceNotFoundException was unhandled by user code
  HResult=-2146233088
  Message=The IEDriverServer.exe file does not exist in the current directory or in a directory on the PATH environment variable. The driver can be downloaded at http://code.google.com/p/selenium/downloads/list.
  Source=WebDriver
  StackTrace:
       at OpenQA.Selenium.DriverService.FindDriverServiceExecutable(String executableName, Uri downloadUrl)
       at OpenQA.Selenium.IE.InternetExplorerDriverService.CreateDefaultService()
       at OpenQA.Selenium.IE.InternetExplorerDriver..ctor(InternetExplorerOptions options)
       at OpenQA.Selenium.IE.InternetExplorerDriver..ctor()
       at Accelrys.CommonTestFramework.WebActions.WebActionLibrary.CreateSeleniumDriver()

person Amar HR    schedule 06.03.2013    source источник


Ответы (5)


Как сказано в исключении, вам необходимо скачать IEDriverServer либо 32-битную, либо 64-битную версию, в зависимости от вашего IE, и убедиться, что он доступен на нашем пути. То есть когда вы вводите IEDriverServer.exe в командной строке, он должен быть разрешен. Попробуй это

person abhinav    schedule 06.03.2013
comment
Попытаюсь выполнить в командной строке и сообщу вам об этом. заранее спасибо - person Amar HR; 07.03.2013

Добавьте эти строки в свой код перед созданием объекта.

   System.setProperty("webdriver.ie.driver", 
        "E:\\path where your IEDriverServer is located\\IEDriverServer.exe");

Вы можете загрузить файл IEDriverServer.exe из здесь.

Поскольку вы используете С#, вы можете использовать приведенный ниже код.

private const string IE_DRIVER_PATH = @"C:\PathTo\IEDriverServer";
var driver = new InternetExplorerDriver(IE_DRIVER_PATH, options);
person Hemanth    schedule 06.03.2013

Вам нужно установить IEDriverServer и сделать его частью вашего проекта.

Этот пост содержит ссылку для скачивания и некоторую дополнительную информацию о том, как сделать его частью вашего проекта.

person Peter Bernier    schedule 06.03.2013
comment
Я скачал IEDriverServer и разархивировал его. Путь к IEDriverServer.exe добавляется в переменную окружения PATH. Даже после выполнения всех этих предварительных условий все работает не так, как ожидалось. - person Amar HR; 06.03.2013

Привязки .NET не сканируют переменную среды %PATH% на наличие исполняемого файла.

https://groups.google.com/forum/?fromgroups#!topic/webdriver/EvTyEPYchxE

Следовательно, не помещать IEDriverServer в %PATH% для .NET.

Используйте неофициальную версию NuGet со связанным драйвером IE (он помещается в Packages-dir и упоминается в тестовом проекте) или самостоятельно свяжите его с проектом и пометьте исполняемый файл как Копировать, если новее в настройках. Затем добавьте относительный путь в конструктор InternetExplorerDriver.

person cederlof    schedule 20.01.2016

Вы можете передать путь к IEDriverServer в перегрузке конструктора

namespace OpenQA.Selenium.IE
    //
    // Summary:
    //     Initializes a new instance of the OpenQA.Selenium.IE.InternetExplorerDriver class
    //     using the specified path to the directory containing IEDriverServer.exe.
    //
    // Parameters:
    //   internetExplorerDriverServerDirectory:
    //     The full path to the directory containing IEDriverServer.exe.
    public InternetExplorerDriver(string internetExplorerDriverServerDirectory);

so

new InternetExplorerDriver("..\.."); // if it was two folders up
person ono2012    schedule 24.03.2017