chromedriver.exe和selenium-chrome-driver.jar之间的区别

时间:2019-07-04 14:02:47

标签: java selenium selenium-chromedriver

我想知道selenium-chrome-driver.jarchromedriver.exe之间的区别

我的朋友能够启动chrome浏览器,而无需在脚本/ chromedriver初始化中指定chromedriver.exe的位置,并且她在selenium-chrome-driver.jar中提到了pom.xml,这是否使区别。如果是这样,怎么办?

2 个答案:

答案 0 :(得分:0)

因此selenium-chrome-driver.jar或多或少只是一个可以包含任何内容的ZIP文件。

最好参考chromedriver.exe的位置来启动Chrome。

我相信,如果您想使用.jar,则没有太大区别,您需要提取selenium-chrome-driver.jar并从其中引用chromedriver.exe

答案 1 :(得分:0)

首先,您需要了解Selenium如何与浏览器通信。

编写硒测试时,使用客户端代码绑定以您选择的语言编写代码。然后,此代码使用JSON Wire协议与作为插件的浏览器内部运行的相关驱动程序二进制文件进行对话。

所以互动是:

Architecture Overview

Selenium有一个客户端API,其中详细介绍了您可以通过JSON Wire协议发送的所有命令,然后它提供了一系列代码,可使其与特定的驱动程序二进制文件进行交互。因此,在您的情况下,selenium-chrome-driver.jar具有专门用于与chrome驱动程序二进制文件进行交互的代码。如果您正在与gecko驱动程序二进制文件对话,则需要使用selenium-firefox-driver.jar。每个针对特定浏览器的驱动程序二进制文件都有一个关联的jar,其中包含与相关驱动程序二进制文件进行对话所需的代码。

要使其正常工作,您需要所有元素,因此要使用Webdriver驱动Google Chrome,您需要拥有selenium-chrome-driver.jarchromedriver.exe二进制文件。