[英]How to instantiate InternetExplorerDriver with Selenium WebDriver using C#
new InternetExplorerDriver();
But I could see exception as below: 但我可以看到异常如下:
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()
Add these lines to your code before creating the object. 在创建对象之前,将这些行添加到代码中。
System.setProperty("webdriver.ie.driver",
"E:\\path where your IEDriverServer is located\\IEDriverServer.exe");
You can download IEDriverServer.exe file from here . 您可以从这里下载IEDriverServer.exe文件。
As you are using C# you can use the below code. 在使用C#时,您可以使用以下代码。
private const string IE_DRIVER_PATH = @"C:\PathTo\IEDriverServer";
var driver = new InternetExplorerDriver(IE_DRIVER_PATH, options);
As the exception says, you need to download IEDriverServer either 32 or 64 bit depending on IE you have and make sure it is available in our path. 例外情况说,您需要根据您拥有的IE下载32位或64位IEDriverServer,并确保它在我们的路径中可用。 That is when you type IEDriverServer.exe on command line it should be resolved.
也就是说,当您在命令行上键入IEDriverServer.exe时,它应该被解析。 Try that
试试吧
The .NET bindings don't scan the %PATH% environment variable for the executable.
.NET绑定不扫描可执行文件的%PATH%环境变量。
https://groups.google.com/forum/?fromgroups#!topic/webdriver/EvTyEPYchxE https://groups.google.com/forum/?fromgroups#!topic/webdriver/EvTyEPYchxE
Hence, it does not work to put IEDriverServer in the %PATH% for .NET. 因此,它不工作把IEDriverServer在%PATH%的.NET。
Use the unofficial NuGet version with the IE-driver bundled (it is put in the Packages-dir and referenced from the test-project), or bundle it yourself with the project, and mark the exe as Copy if newer under preferences. 使用非官方的NuGet版本与捆绑的IE驱动程序(它放在Packages-dir中并从测试项目中引用),或者自己将其与项目捆绑在一起,并将exe标记为Copy,如果在首选项下更新 。 Then add the relative path into the constructor of
InternetExplorerDriver
. 然后将相对路径添加到
InternetExplorerDriver
的构造函数中。
You can pass in the path to the IEDriverServer in an overload of the constructor 您可以在构造函数的重载中传递路径到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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.