Chromedriver 如何与浏览器进行内部通信?

Mid*_*idi 1 google-chrome selenium-chromedriver

我试图了解 chromedriver.exe 如何在内部与 Chrome 浏览器通信。什么样的通信通道和协议用于这种目的。

我正在寻找一些架构图和高级描述,但找不到。

是否可以在没有 chromedriver.exe 作为代理的情况下直接与浏览器通信(用于自动化目的)?

Phi*_*nis 5

请参阅Chrome 驱动程序用户组的答案,其中包含有关 chromedriver.exe 如何与 Chrome 浏览器通信的高级描述。

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

可以使用Chrome DevTools Interface直接与 Chrome 浏览器通信,但是如果不使用 WebDriver 和 Selenium,则可能需要大量工作才能将此接口用于自动化目的。