我正在使用 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();
基本上,您必须在初始化驱动程序之前设置此属性
参考:
如果您使用的是 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\
驱动程序= 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/");
路径使用双斜杠//
那行,玩得开心 !!
这是确切的解决方案,适用于我的情况:
在 Windows Vista 或 Windows 7 上的 IE 7 或更高版本上,您必须将每个区域的保护模式设置设置为相同的值。该值可以打开或关闭,只要每个区域都相同。要设置保护模式设置,请从“工具”菜单中选择“Internet 选项...”,然后单击“安全”选项卡。对于每个区域,标签底部都会有一个标记为“启用保护模式”的复选框。此外,对于 IE 10 及更高版本,必须禁用“增强保护模式”。此选项位于 Internet 选项对话框的高级选项卡中。
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");
}
}
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 的文件夹的路径对我有用
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/