据我所知,Chrome协议通过编程控制的API公开了Google,而傀儡旅行者提供了一个这样做的Node.js实现。然而,如果我没有错的话,木偶师不允许我们做DevTools协议所能做的一切。
如果我想远程调试我的安卓铬浏览器,就像我可以手动进行的那样,通过进入我的DevTools中的“远程设备”部分,有办法绕过傀儡吗?是否有一个包可以让我们访问DevTools协议的更多核心功能?
发布于 2019-04-10 17:59:22
是的,你能做到的。木偶师只是铬DevTools协议的包装。要了解该协议是如何工作的,您可能需要了解一下协议基础,其中将介绍基本知识。
为了在这个较低的层次上进行交流,你也可以使用木偶师。查看CDPSession文档,它公开了API的“低级”部分。
最起码的例子:
const client = await page.target().createCDPSession(); // creates a "low level" session
await client.send('COMMAND'); // sends the command to the browser
client.on('MESSAGE', () => { /* message from the browser received */ });备选方案
如果你不想使用木偶师,还有很多其他的库。Node.js中最常用的一种是铬-远程接口,它比木偶师要低.根据去医生那里
铬-远程接口.是用于Chrome调试协议的通用1:1 Node.js绑定。如果您需要使用原始协议的所有功能,例如,实现您自己的高级API,请使用它。
还有多个其他库(也适用于其他语言)。你可以找到一个完整的列表在这里。
https://stackoverflow.com/questions/55618469
复制相似问题