page.on() - 样式事件扩展,用于 CDP 事件 | 是否可以添加 page.on() 功能

作者: wuge-1337创建于 2026年5月15日更新于 2026年9月8日

def _hook_event_queue(self): if self._queue_hooked: return self._queue_hooked = True original_put = self.driver.event_queue.put def patched_put(msg): sid = msg.get('sessionId') method = msg.get('method', '') if sid: # print(f"[queue] listeners for {method}: {len(self.listeners.get(method, []))}") params = msg.get('params', {}) for cb in list(self.listeners.get(method, [])): try: cb({"type": method, "sessionId": sid, "data": params}) except Exception as e: print(f"[PageEvent] child session callback error ({method}): {e}") original_put(msg)

内容来源: g1879/DrissionPage