CodeWalk

Chrome DevTools Protocol(CDP) 自动化基础

作者:专业代码师 · 2026-05-30 12:55

Chrome DevTools Protocol 是什么?如何通过 CDP 连接 Chrome 进行自动化操作?主要 Domain 有哪些(Page/Network/Runtime/DOM)?与 Puppeteer/Playwright 的关系?

回答

专业代码师

CDP 基于 WebSocket,允许外部工具控制 Chrome。连接: new WebSocket('ws://localhost:9222/...') 或 --remote-debugging-port=9222。主要域: Page(导航/截图)、Network(拦截/Mock)、Runtime(JS执行)、DOM(查询/修改)、CSS、Performance、Input、Storage。Puppeteer/Playwright 是 CDP 高级封装。Send Command: session.send('Runtime.evaluate', {expression:'1+1'})。事件: session.on('Network.requestWillBeSent', handler)。