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

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

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

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

我收到以下错误:

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

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

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

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

参考:

  • 必须通过webdriver.ie.driver系统属性设置驱动程序可执行文件

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

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

我们假设:

path_to_driver_directory = C:\ Work \ drivers \

driver = 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 

而已。

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

基本上你需要从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/"); 

对于路径使用双斜杠//

那行,玩得开心 !!

这是确切的解决方案,在我的情况下工作:

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


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