指定executablePath启动Puppeteer时遇WS端点超时错误求助
解决Puppeteer启动时WS端点超时问题
问题根源
你犯了一个关键错误:executablePath参数传的是chromedriver驱动程序,但Puppeteer需要的是Chrome/Chromium浏览器的二进制可执行文件,不是WebDriver驱动。这直接导致Puppeteer无法正常启动浏览器,进而触发WS端点超时错误。
修复方案
1. 修正executablePath路径
将路径替换为你本地Chrome浏览器的实际二进制文件路径:
- Mac ARM64平台下,Chrome默认路径为:
/Applications/Google Chrome.app/Contents/MacOS/Google Chrome - 如果是Chromium,路径类似:
/Applications/Chromium.app/Contents/MacOS/Chromium
修改后的代码示例:
import puppeteer from 'puppeteer' import { resolve } from 'path' const main = async () => { const browser = await puppeteer.launch({ headless: false, defaultViewport: null, // 替换为Chrome浏览器的实际路径 executablePath: '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome' }) const page = await browser.newPage() await page.goto('https://whoer.net', { waitUntil: 'domcontentloaded' }) await sleep(40_000) await browser.close() } main() function sleep(sec: number): Promise<void> { return new Promise(r => setTimeout(r, sec)) }
2. 可选:使用Puppeteer自带的Chromium
如果不想手动指定浏览器路径,可以直接移除executablePath配置,Puppeteer会自动下载并使用兼容版本的Chromium,避免版本不兼容问题:
const browser = await puppeteer.launch({ headless: false, defaultViewport: null })
额外排查点
- 确认Chrome/Chromium能正常手动启动,没有损坏或权限问题
- 检查Puppeteer版本与浏览器版本是否兼容(使用自带Chromium可跳过此步骤)
内容的提问来源于stack exchange,提问作者NickBroww8
相关产品推荐
相关产品推荐

