如何以编程方式获取网络套接字 (WS) 选项卡数据?
How to get the web socket (WS) tab data programmatically?
我想从网站上的网络套接字 运行 获取信息。然而,由于我不知道握手过程,我无法成功建立到 websocket 的连接并检索在 websocket 上发布的信息。我认为这属于网站机密性,除非他们向我提供文件,否则我不太可能直接从 websocket 获取数据(如果我错了请纠正我)。
但是,因为我可以从 chrome(开发人员模式)的网络部分的“WS”选项卡中查看数据。我想知道是否有一种方法可以使用 selenium 或任何无头浏览器以编程方式复制此信息,并且我在我的程序中获取了此信息。我的主要 objective 是使用 C# 获取信息,但是我愿意接受任何其他方式来获取此数据。
This is the sample picture of a WS
我也找到了这个扩展“chrome.devtools.network”,但我不确定它是否可以做我想要的事情。我仍在寻找任何建议或帮助,非常感谢
使用新版本的 Selenium webdrive(第 4 版 - 测试版),您可以创建驱动程序的开发工具会话
driver.getDevTools().createSession();
您可以使用 wich 发送任何 devtool 命令。您应该创建一个网络套接字事件并通过它发送请求。您可以参考此 link 网络域 Chrome DevTools 协议。
此外,您还可以使用日志记录首选项属性和拦截性能日志来获取通过 websocket 发送和接收的消息。
driver.manage().logs().get(LogType.PERFORMANCE);
我使用 Java 尝试了最后一个解决方案,并得到了请求此 link 的结果
提供完整的源代码here
请注意,您应该等到 chrome 驱动程序退出。然后在控制台中你会看到发送和接收的消息
我想从网站上的网络套接字 运行 获取信息。然而,由于我不知道握手过程,我无法成功建立到 websocket 的连接并检索在 websocket 上发布的信息。我认为这属于网站机密性,除非他们向我提供文件,否则我不太可能直接从 websocket 获取数据(如果我错了请纠正我)。
但是,因为我可以从 chrome(开发人员模式)的网络部分的“WS”选项卡中查看数据。我想知道是否有一种方法可以使用 selenium 或任何无头浏览器以编程方式复制此信息,并且我在我的程序中获取了此信息。我的主要 objective 是使用 C# 获取信息,但是我愿意接受任何其他方式来获取此数据。
This is the sample picture of a WS
我也找到了这个扩展“chrome.devtools.network”,但我不确定它是否可以做我想要的事情。我仍在寻找任何建议或帮助,非常感谢
使用新版本的 Selenium webdrive(第 4 版 - 测试版),您可以创建驱动程序的开发工具会话
driver.getDevTools().createSession();
您可以使用 wich 发送任何 devtool 命令。您应该创建一个网络套接字事件并通过它发送请求。您可以参考此 link 网络域 Chrome DevTools 协议。
此外,您还可以使用日志记录首选项属性和拦截性能日志来获取通过 websocket 发送和接收的消息。
driver.manage().logs().get(LogType.PERFORMANCE);
我使用 Java 尝试了最后一个解决方案,并得到了请求此 link 的结果
提供完整的源代码here
请注意,您应该等到 chrome 驱动程序退出。然后在控制台中你会看到发送和接收的消息