selenium - 为什么我们需要为 Chrome 和 IE 浏览器设置系统属性而不为 Firefox 浏览器设置系统属性

标签 selenium selenium-webdriver selenium-chromedriver selenium-iedriver

对于 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/

相关文章:

python - 使用 id、xpath、class 等单击按钮时遇到问题

ruby-on-rails - 使用 Capybara 和 Selenium 运行规范时未加载自定义 CSS 和 JS

java - Selenium 中的 Apache POI 文本格式不佳

Grails Geb : Chrome failed to start

java - 自动化测试时如何使用android默认浏览器

xpath - 简化 selenium 使用的 xpath 表达式

java - 用于 Firefox 的基于 Java 的 Selenium WebDriver 项目的示例 Maven pom.xml

python - 接收属性错误 'FirefoxBinary'对象没有属性 '_get_firefox_output'

c# - 如何修复此 C# 问题 没有测试与给定的测试用例过滤器匹配

selenium - 如何在chromedriver中关闭w3c以解决错误未知命令:在W3C中无法调用非W3C标准命令