Как настроить InternetExplorerDriver так, чтобы он работал

Я использую WebDriver, и я загрузил InternetExplorerDriver и задавался вопросом, что я делаю с ним после его загрузки?

В этом говорится, чтобы поставить драйвер на моем пути. Не совсем уверены, что именно они говорят о нем.

Кто-нибудь использовал это, и если бы вы могли подробно рассказать о том, как его настроить, чтобы он работал?

Я получаю следующую ошибку:

Путь к исполняемому файлу драйвера должен быть установлен Системное свойство webdriver.ie.driver

Я загрузил исполняемые файлы для IE и драйвера Chrome. Где я могу установить его?

Ответы

Ответ 1

Распакуйте его и поместите где-нибудь, где сможете его найти. В моем примере я предположим, что вы поместите его в папку C:\Selenium\iexploredriver.exe

Затем вам нужно настроить его в системе. Вот код Java, вставленный из моего проекта Selenium:

File file = new File("C:/Selenium/iexploredriver.exe");
System.setProperty("webdriver.ie.driver", file.getAbsolutePath());
WebDriver driver = new InternetExplorerDriver();

В принципе, вы должны установить это свойство перед инициализацией драйвера

Ссылка:

Ответ 2

Если вы используете RemoteDriver, все по-другому. Из http://element34.ca/blog/iedriverserver-webdriver-and-python:

Вам нужно будет запустить сервер, используя строку типа

java -jar selenium-server-standalone-2.26.0.jar -Dwebdriver.ie.driver=C:\Temp\IEDriverServer.exe

Я обнаружил, что если IEDriverServer.exe находился в C:\Windows\System32\ или его вложенных папках, он не мог быть найден автоматически (хотя System32 был в %PATH%) или явно использовал флаг -D.

Ответ 3

Другой способ решить эту проблему:

Предположим:

path_to_driver_directory= C:\Work\drivers\

драйвер= IEDriverServer.exe

При запуске messsage о пути вы всегда можете добавить path_to_driver_directory, содержащий драйвер, в переменную среды PATH. Проверьте: http://java.com/en/download/help/path.xml

Затем просто проверьте окно cmd, если драйвер доступен - просто запустите cmd в любом месте и введите имя драйвера.

Если все работает нормально, вы получаете:

C:\Users\A>IEDriverServer.exe
Started InternetExplorerDriver server (32-bit)
2.28.0.0
Listening on port 5555

Вот оно.

Ответ 4

Это только для того, чтобы помочь кому-то в будущем. Когда мы запускаем экземпляр InternetExplorerDriver() в проекте java, он использует IEDriver.exe(скачанный отдельными лицами), который пытается извлечь временные файлы в пользовательскую папку TEMP, когда он не находится в пути, а затем ур. Busted.

Самый безопасный способ - предоставить свой собственный путь извлечения, как показано ниже.

System.setProperty("webdriver.ie.driver.extractpath", "F:\\Study\\");
System.setProperty("webdriver.ie.driver", "F:\\Study\\IEDriverServer.exe");
System.setProperty("webdriver.ie.logfile", "F:\\Study\\IEDriverServer.log");
InternetExplorerDriver d = new InternetExplorerDriver();
d.get("http://www.google.com");
d.quit();

Ответ 5

public class NavigateUsingAllBrowsers {


public static void main(String[] args) {

WebDriver driverFF= new FirefoxDriver();
driverFF.navigate().to("http://www.firefox.com");


File file =new File("C:/Users/mkv/workspace/ServerDrivers/IEDriverServer.exe");
System.setProperty("webdriver.ie.driver", file.getAbsolutePath());
WebDriver driverIE=new InternetExplorerDriver();
driverIE.navigate().to("http://www.msn.com");

//Загрузите драйвер Chrome из http://code.google.com/p/chromedriver/downloads/list

file =new File("C:/Users/mkv/workspace/ServerDrivers/ChromeDriver.exe");
System.setProperty("webdriver.chrome.driver", file.getAbsolutePath());
WebDriver driverChrome=new ChromeDriver();
driverChrome.navigate().to("http://www.chrome.com");

}

}

Ответ 6

В принципе, вам необходимо загрузить IEDriverServer.exe с веб-сайта Selenium HQ без каких-либо действий, просто перемотируйте место, где вы хотите а затем поместите код на Eclipse следующим образом

System.setProperty("webdriver.ie.driver", "C:\\Users\\juan.torres\\Desktop\\QA stuff\\IEDriverServer_Win32_2.32.3\\IEDriverServer.exe");
WebDriver driver= new InternetExplorerDriver();

driver.navigate().to("http://www.youtube.com/");

для пути используйте двойную косую черту //

ok получайте удовольствие!!

Ответ 7

Вот точное решение, которое работало в моем случае:

  • В IE 7 или выше в Windows Vista или Windows 7 вы должны установить для параметра "Защищенный режим" для каждой зоны одинаковое значение. Значение может быть включено или выключено, если оно одинаково для каждой зоны. Чтобы установить параметры защищенного режима, выберите "Свойства обозревателя..." в меню "Сервис" и перейдите на вкладку "Безопасность". Для каждой зоны в нижней части вкладки с надписью "Включить защищенный режим" будет установлен флажок. Кроме того, для IE 10 и выше необходимо отключить "Улучшенный защищенный режим". Эта опция находится на вкладке "Дополнительно" диалогового окна "Свойства обозревателя".

  • System.setProperty("webdriver.ie.driver","C:\\Users\\ssin22\\Downloads\\IEDriverServer_x64_2.48.0\\IEDriverServer.exe");


package Testing;

import java.io.File;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;

public class LaunchIE {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        System.setProperty("webdriver.ie.driver","C:\\Users\\ssin22\\Downloads\\IEDriverServer_x64_2.48.0\\IEDriverServer.exe");

    WebDriver driver=new InternetExplorerDriver();
    driver.get("http://google.com");

    }

}

Ответ 8

    using System.Text;
    ...
    ..
    static void Main(String[] args){ 
    var driver =  new InternetExplorerDriver(@"C:\Users\PathToTheFolderContainingIEDriver.exe"); 
    driver.Navigate().GoToUrl("https://www.google.com/");
    Console.Read();
    }

Вам не нужно включать файл .exe. Путь к папке с .exe у меня работал

Ответ 9

WebDriverManager allows to automate the management of the binary drivers (e.g. chromedriver, geckodriver, etc.) required by Selenium WebDriver.

Link: https://github.com/bonigarcia/webdrivermanager

you can use something link this: WebDriverManager.iedriver().setup();

add the following dependency for Maven:

<dependency>
    <groupId>io.github.bonigarcia</groupId>
    <artifactId>webdrivermanager</artifactId>
    <version>x.x.x</version>
    <scope>test</scope>
</dependency> 

or see: https://www.toolsqa.com/selenium-webdriver/webdrivermanager/