WebDriver,ChromeDriver和浏览器如何在它们之间进行通信?什么是WIRE协议?

时间:2016-07-11 17:11:12

标签: selenium selenium-webdriver

我创建了一个完全在Chrome浏览器中运行的selenium脚本。为了让它运行,我已经完成了一些先前的答案并下载了" ChromeDriver.exe"文件并在代码中添加了路径,它工作正常,但我的问题是为什么我们必须下载这个exe及其作用?

我在互联网上浏览了一些文章,我不清楚。文章称ChromeDriver是" Wire Protocol"执行脚本时,Webdriver会与ChromeDriver对话。如果是这样的话呢?

有些专家可以提出一些指示,以便更清楚地了解这一点吗?

1 个答案:

答案 0 :(得分:1)

ChromeDriver文档" getting start"给你一个明确的答案。

  

ChromeDriver是WebDriver用来控制Chrome的单独可执行文件。它由Chromium团队在WebDriver贡献者的帮助下维护。 [...] ChromeDriver类在创建时启动ChromeDriver服务器进程,并在调用quit时终止它。 [...]

请参阅此answer from the Chrome Driver users group,其中包含有关chromedriver.exe如何与Chrome浏览器进行通信的高级说明。

  

[...] ChromeDriver实现了WebDriver协议,这是一个类似REST的界面[...]。 WebDriver客户端通过发送HTTP请求与ChromeDriver进行通信。然后,ChromeDriver通过DevTools远程调试界面与浏览器进行通信,该界面是一个WebSockets接口[...]。