对于 Chrome ,
public class Chrome {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "E://chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("http://www.google.com");
}
}
对于火狐,
public class Firefox {
public static void main(String[] args) {
WebDriver driver = new FirefoxDriver();
driver.get("http://www.google.com");
}
}
为什么我们需要指定
system.setProperty
适用于 Chrome 和 IE?
最佳答案
我也有同样的问题,但挖掘后我发现,
WebDriver
uses native browser approach. Selenium offers inbuilt driver for Firefox but not for other browsers. All drivers (Chrome Driver, IE driver, etc.) are built based on the special JS Engine used by each browser.
Selenium
WebDriver
与 Mozilla Firefox 配合得很好,因为它有一个内置的驱动程序服务器。但对于 Internet Explorer 和 Google Chrome,情况并非如此。 Firefox 是最传统的浏览器,因此 Selenium WebDriver
在启动浏览器之前不需要设置任何其他实用程序。 Selenium 包会自动引用 firefox.exe 的默认位置,因此用户无需设置任何其他属性。如果你曾经得到“驱动程序可执行文件的路径必须由 webdriver 设置。 IE。驱动程序系统属性”错误或其类似措辞的 Chrome 等效项,这意味着您需要在浏览器上安装驱动程序服务器。驱动服务器管理浏览器和 Selenium 有线协议(protocol)之间的调用。
InternetExplorerDriver
是一个独立的服务器,它实现了 WebDriver 的有线协议(protocol)同样,Google Chrome 没有内置服务器,因此您需要一个 Chrome 驱动程序服务器来将您的 Selenium 代码传送到浏览器。您可以下载 Chrome 驱动程序服务器。
成立于 here .
关于selenium - 为什么我们需要为 Chrome 和 IE 浏览器设置系统属性而不为 Firefox 浏览器设置系统属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35285698/