def process_message(self, msg):
"""Process a message from the browser
https://trac.webkit.org/browser/webkit/trunk/Source/JavaScriptCore/inspector/protocol"""
try:
if 'method' in msg and self.recording:
parts = msg['method'].split('.')
if len(parts) >= 2:
category = parts[0]
event = parts[1]
if category == 'Page':
self.process_page_event(event, msg)
elif category == 'Network':
self.process_network_event(event, msg)
elif category == 'Inspector':
self.process_inspector_event(event)
elif category == 'Timeline':
self.process_timeline_event(event, msg)
elif category == 'Console':
self.process_console_event(event, msg)
except Exception:
pass
if self.timeline and 'method' in msg and self.recording:
json.dump(msg, self.timeline)
self.timeline.write(",\n")
if 'id' in msg:
response_id = int(re.search(r'\d+', str(msg['id'])).group())
if response_id in self.pending_commands:
self.pending_commands.remove(response_id)
self.command_responses[response_id] = msg
评论列表
文章目录