使用 Selenium 获取 Websocket 消息或使用 python 捕获 Web 套接字消息的任何方式?
Get Websocket messages with Selenium or any way to capture web socket message with python?
是否可以通过 python 使用 Selenium Webdriver 获取 websocket 消息?或者任何其他方式捕获或抓取特定站点上的 websocket 消息?
您可以为此使用 'pyppeteer' 库
import asyncio
from pyppeteer import launch
async def main():
browser = await launch(
headless=False,
args=['--no-sandbox'],
autoClose=False
)
page = await browser.newPage()
await page.goto('https://example.com')
cdp = await page.target.createCDPSession()
await cdp.send('Network.enable')
await cdp.send('Page.enable')
def printResponse(response):
print(response)
cdp.on('Network.webSocketFrameReceived', printResponse) # Calls printResponse when a websocket is received
cdp.on('Network.webSocketFrameSent', printResponse) # Calls printResponse when a websocket is sent
await asyncio.sleep(2000)
asyncio.get_event_loop().run_until_complete(main())
是否可以通过 python 使用 Selenium Webdriver 获取 websocket 消息?或者任何其他方式捕获或抓取特定站点上的 websocket 消息?
您可以为此使用 'pyppeteer' 库
import asyncio
from pyppeteer import launch
async def main():
browser = await launch(
headless=False,
args=['--no-sandbox'],
autoClose=False
)
page = await browser.newPage()
await page.goto('https://example.com')
cdp = await page.target.createCDPSession()
await cdp.send('Network.enable')
await cdp.send('Page.enable')
def printResponse(response):
print(response)
cdp.on('Network.webSocketFrameReceived', printResponse) # Calls printResponse when a websocket is received
cdp.on('Network.webSocketFrameSent', printResponse) # Calls printResponse when a websocket is sent
await asyncio.sleep(2000)
asyncio.get_event_loop().run_until_complete(main())