gpt4 book ai didi

google-chrome - 使用谷歌浏览器远程调试协议(protocol)

转载 作者:行者123 更新时间:2023-12-03 14:07:29 27 4
gpt4 key购买 nike

我需要从 Chrome 获取网络事件。我发现了这个:
https://developer.chrome.com/devtools/docs/debugger-protocol
https://developer.chrome.com/devtools/docs/protocol/1.1/network#command-enable

Chrome 似乎使用端口来获取消息、回答和发送事件,以进行远程调试。它说它使用 JSON,所以我决定尝试一下。

因此,我编写了一些简单的 java 代码来打开 chrome 正在监听的端口(当然我已经在我的 ubuntu 机器上使用 google-chrome --remote-debugging-port=9222 启动它)。我有一个线程将来自此端口的任何内容写入标准输出,然后代码使用此行将其写入套接字的输出流(协议(protocol)中的示例方法):

out.println("{\"id\": 1,\"method\": \"Network.enable\"}");

我希望输入流中有一些答案(根据协议(protocol)),但没有任何 react 。

有没有人做过这样的事情?我在网上找不到任何东西。

最佳答案

终于我明白了。归功于 https://www.igvita.com/2012/04/09/driving-google-chrome-via-websocket-api/ .

首先我向 http://localhost:9222/json 发送一个 HTTP 请求。 .这将返回 Chrome 中打开的选项卡的 JSON 列表,对于每个我还得到一个 WebSocket uri (webSocketDebuggerUrl):

[
{
"description": "",
"devtoolsFrontendUrl": "/devtools/devtools.html?ws=localhost:9222/devtools/page/C014A09F-BD0A-40BA-B23C-7B18B84942CD",
"faviconUrl": "http://cdn.sstatic.net/stackoverflow/img/favicon.ico?v=00a326f96f68",
"id": "C014A09F-BD0A-40BA-B23C-7B18B84942CD",
"title": "Using Google Chrome remote debugging protocol - Stack Overflow",
"type": "page",
"url": "https://stackoverflow.com/questions/28430479/using-google-chrome-remote-debugging-protocol",
"webSocketDebuggerUrl": "ws://localhost:9222/devtools/page/C014A09F-BD0A-40BA-B23C-7B18B84942CD"
}
]

然后我可以使用 WebSocket 发送消息以使用此 URI 来调试特定选项卡。我还发现这个使用 Jetty 实现的 WebSocket: javax.websocket client simple example .

关于google-chrome - 使用谷歌浏览器远程调试协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28430479/

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