gpt4 book ai didi

node.js - 有没有办法以编程方式访问和控制 Chrome Devtools 的 "Remote Devices"部分?

转载 作者:搜寻专家 更新时间:2023-11-01 00:48:25 24 4
gpt4 key购买 nike

我了解 Chrome Devtools 协议(protocol)通过 API 公开 Google Chrome DevTools 以进行编程控制,而 puppeteer 提供了一个 Node.js 实现来实现这一点。但是,如果我没记错的话,puppeteer 不允许我们做 DevTools 协议(protocol)可以做的一切

如果我想远程调试我的 android chrome 浏览器,就像我可以手动执行的那样,通过转到我的 DevTools 的“远程设备”部分,有没有办法绕过 puppeteer?是否有一个包可以让我们访问 DevTools 协议(protocol)的更多核心功能?

最佳答案

是的,你可以做到。 puppeteer 只是 Chrome DevTools Protocol 的包装器.要了解协议(protocol)的工作原理,您可能想看看 Protocol Fundamentals ,其中解释了基础知识。

要在这个较低级别上进行交流,您还可以使用 puppeteer。查看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 */ });

备选方案

如果您不想使用 puppeteer,还有多个其他库。 Node.js 最常用的是 chrome-remote-interface ,比 puppeteer 更底层。根据to the docs :

chrome-remote-interface [...] is a general purpose 1:1 Node.js binding for the Chrome Debugging Protocol. Use it if you need all the power of the raw protocol, e.g., to implement your own high-level API.

还有多个其他库(也适用于其他语言)。你可以找到一个 full list here .

关于node.js - 有没有办法以编程方式访问和控制 Chrome Devtools 的 "Remote Devices"部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55618469/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com