I was working on ESP8266 Websocket Project , There was a need to capture the websocket messages. Here is my test server where you can see the sample websocket message transactions.
https://github.com/dvxlab/ESP8266_WebSocket_DH11
Here is the source code for capturing the messages.
#DVXLab @2019 All rights reserved # MIT License #sudo apt-get install python3-pip #pip install selenium #download chrome webdriver & keep in the same directory from selenium import webdriver import sys import time from selenium.webdriver.common.desired_capabilities import DesiredCapabilities from selenium.webdriver.chrome.options import Options import os import json chrm_options=Options() chrm_caps = webdriver.DesiredCapabilities.CHROME.copy() chrm_caps['goog:loggingPrefs'] = { 'performance':'ALL' } #driver = webdriver.Chrome(executable_path = 'chromedriver.exe', chrome_options=chrm_options,desired_capabilities=chrm_caps) Windows driver = webdriver.Chrome(executable_path = '/opt/blog/chromedriver', chrome_options=chrm_options,desired_capabilities=chrm_caps) #Linux def LoadWebDriver() : print("Web driver Init ") base_url = "http://192.168.1.5:80" #Change the site print('Loading URL ....') driver.get(base_url ) def WebSocketLog(): for wsData in driver.get_log('performance'): #print(wsData) wsJson = json.loads((wsData['message'])) if wsJson["message"]["method"]== "Network.webSocketFrameReceived": print ("Rx :"+ str(wsJson["message"]["params"]["timestamp"]) + wsJson["message"]["params"]["response"]["payloadData"]) if wsJson["message"]["method"] =="Network.webSocketFrameSent": print ("Tx :"+ wsJson["message"]["params"]["response"]["payloadData"]) LoadWebDriver() print("Waiting") time.sleep(30) #Capture messages for 30sec, integrate your code here WebSocketLog() # Finally print log print("done")
captured message
{ "level": "INFO", "message": { "message": { "method": "Network.webSocketFrameReceived", "params": { "requestId": "15800.14", "response": { "mask": false, "opcode": 1, "payloadData": { "temperature": 27.1, "humidity": 62 } }, "timestamp": 19230.781 } }, "webview": "E12239730657D412C85C4D48F8F4931B" }, "timestamp": 1605025862583 } { "level": "INFO", "message": { "message": { "method": "Network.webSocketFrameSent", "params": { "requestId": "16240.14", "response": { "mask": true, "opcode": 1, "payloadData": { "message": "led", "led1": "0", "led2": 0, "led3": 1, "led4": 1 } }, "timestamp": 19632.316 } }, "webview": "D015CF073AC78B7E71581871C7ADC6B3" }, "timestamp": 1605026261184 }