【问题标题】:How do I setup the InternetExplorerDriver so it works如何设置 InternetExplorerDriver 使其正常工作
【发布时间】:2012-07-28 12:08:09
【问题描述】:

我正在使用 WebDriver,并且我已经下载了 InternetExplorerDriver,并且想知道下载后我会如何处理它?

This 说要把驱动程序放在我的路径上。不太确定他们到底在说什么。

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

我收到以下错误:

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

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

【问题讨论】:

标签: java eclipse selenium webdriver testng


【解决方案1】:
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/

【讨论】:

    【解决方案2】:
        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 的文件夹的路径对我有用

    【讨论】:

      【解决方案3】:

      这是对我来说有效的确切解决方案:

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

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

      【讨论】:

        【解决方案4】:

        这只是为了帮助将来的人。 当我们在 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();
        

        【讨论】:

          【解决方案5】:

          基本上,您需要从 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】:

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

            【讨论】:

            • 是的!万分感谢。到处都写着你必须在系统路径中提到它,但地狱没有写着我们也必须启动驱动程序。 Chrome 也是如此。 RemoteWebDriver 文档应该更新并且应该同步。
            【解决方案7】:
            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");
            
            }
            
            }
            

            【讨论】:

              【解决方案8】:

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

              假设:

              path_to_driver_directory = C:\Work\drivers\

              驱动程序 = IEDriverServer.exe

              收到有关路径的消息时,您始终可以将包含 driverpath_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
              

              就是这样。

              【讨论】:

                【解决方案9】:

                打开包装并将其放在您可以找到的地方。在我的示例中,我假设您将其放置到 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();
                

                基本上,您必须在初始化驱动程序之前设置此属性

                参考:

                【讨论】:

                • David,感谢您提供这些链接,但是他们没有回答我关于如何将测试指向驱动程序可执行文件的问题。
                猜你喜欢
                • 2022-12-21
                • 1970-01-01
                • 2021-05-22
                • 2013-09-01
                • 1970-01-01
                • 2017-03-04
                • 1970-01-01
                • 1970-01-01
                • 2017-08-13
                相关资源
                最近更新 更多