我试图了解chromedriver.exe如何在内部与Chrome浏览器进行通信。什么样的通信信道和协议用于此目的。
我正在寻找一些架构图和高级描述,但找不到一个。
是否可以直接与浏览器通信(出于自动化目的)而无需将chromedriver.exe作为代理?
答案 0 :(得分:3)
请参阅此answer from the Chrome Driver users group,其中包含有关chromedriver.exe如何与Chrome浏览器进行通信的高级说明。
" [...] ChromeDriver实现了WebDriver协议,这是一个类似REST的界面[...]。 WebDriver客户端通过发送HTTP请求与ChromeDriver进行通信。然后,ChromeDriver通过DevTools远程调试界面与浏览器进行通信,该界面是一个WebSockets接口[...]。"
可以使用Chrome DevTools Interface直接与Chrome浏览器进行通信,但如果不使用WebDriver和Selenium,则可能需要大量工作才能将此界面用于自动化目的。