我使用 puppeteer-sharp 转储通过 websockets 按页面接收和发送的数据。在 C# 中转储数据的代码:
async Task Dump()
{
   var client = await _browser.Page.Target.CreateCDPSessionAsync();
   await client.SendAsync("Network.enable");
   client.MessageReceived += OnChromeDevProtocolMessage;
}
void OnChromeDevProtocolMessage(object sender, MessageEventArgs eventArgs)
{
    if (eventArgs.MessageID == "Network.webSocketCreated")
    {
        Logger.Trace($"Network.webSocketCreated: {eventArgs.MessageData}");
    }
    else if (eventArgs.MessageID == "Network.webSocketFrameSent")
    {
        Logger.Trace($"Network.webSocketFrameSent: {eventArgs.MessageData}");
    }
    else if (eventArgs.MessageID == "Network.webSocketFrameReceived")
    {        
        var cdpMessage = JsonConvert.DeserializeObject<CdpMessage>(eventArgs.MessageData.ToString());
        ProcessMessage(cdpMessage);
    }
}
有没有办法使用 puppeteer 或直接使用 Chrome 开发协议消息将数据发送到 websocket?
编辑: 或者是否有可能以某种方式获得 WebSocket 实例(或句柄)以在 JavaScript 代码中使用它来使用 EvaluateFunctionAsync 发送数据?