如何设置InternetExplorerDriver以使其正常工作

时间:2012-07-30 19:10:07

标签: java eclipse selenium webdriver testng

我正在使用WebDriver并且我已经下载了InternetExplorerDriver并想知道在下载后我用它做了什么?

This说把司机放在我的路上。不确定他们到底在说什么。

有没有人使用过这个,如果有的话,你能提供一些如何设置它的详细步骤吗?

我收到以下错误:

  

驱动程序可执行文件的路径必须由   webdriver.ie.driver系统属性

我下载了IE和Chrome驱动程序的可执行文件。我在哪里设置它?

9 个答案:

答案 0 :(得分:19)

打开包装并放在可以找到它的地方。在我的例子中,我假设你将它放在C:\ Selenium \ iexploredriver.exe

然后你必须在系统中进行设置。这是我的Selenium项目粘贴的Java代码:

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

基本上,您必须在初始化驱动程序

之前设置此属性

参考:

答案 1 :(得分:19)

如果您使用的是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标志。

答案 2 :(得分:2)

解决此问题的另一种方法是:

我们假设:

path_to_driver_directory = C:\ Work \ drivers \

驱动程序 = IEDriverServer.exe

在获取有关路径的消息时,您始终可以将包含驱动程序 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

多数民众赞成。

答案 3 :(得分:1)

这只是为了帮助将来的某个人。 当我们在java项目中启动InternetExplorerDriver()实例时,它使用IEDriver.exe(由个人下载),当它不在路径中时会尝试提取用户TEMP文件夹中的临时文件然后被破坏。

最安全的方法是提供您自己的提取路径,如下所示

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();

答案 4 :(得分:0)

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");

//从http://code.google.com/p/chromedriver/downloads/list

下载Chrome驱动程序
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");

}

}

答案 5 :(得分:0)

基本上你需要从Selenium HQ网站下载IEDriverServer.exe而不执行任何操作只需要记住你想要它的位置 然后像这样把代码放在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/");
路径的

使用双斜杠//

好的,玩得开心!!

答案 6 :(得分:0)

这是确切的解决方案,在我的案例中有效:

  1. 在Windows Vista或Windows 7上的IE 7或更高版本中,必须将每个区域的保护模式设置设置为相同的值。只要每个区域的值相同,该值就可以打开或关闭。要设置保护模式设置,请选择" Internet选项..."从“工具”菜单中,单击“安全”选项卡。对于每个区域,选项卡底部将显示一个复选框,标记为"启用保护模式"。 此外,"增强保护模式" IE 10及更高版本必须禁用。此选项位于“Internet选项”对话框的“高级”选项卡中。

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

  3. 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");
    
        }
    
    }
    

答案 7 :(得分:0)

    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的文件夹的路径对我有用

答案 8 :(得分:0)

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/