如何配置Puppeteer以使用当前浏览器用户环境?
解决Puppeteer userDataDir配置不生效的问题
路径指向错误:你直接指定了
Default子文件夹,但Puppeteer的userDataDir需要指向Chrome的用户数据根目录,而非具体的用户配置子文件夹。正确的根路径是~/Library/Application Support/Google/Chrome/,Puppeteer会自动加载该目录下的默认用户配置(Default文件夹)。波浪号~未被解析:Node.js的路径字符串里,
~不会自动转换为用户主目录,得手动拼接绝对路径。可以用os.homedir()来实现:const os = require('os'); const browser = await puppeteer.launch({ executablePath: '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome', headless: false, userDataDir: `${os.homedir()}/Library/Application Support/Google/Chrome`, })关闭现有Chrome进程:如果当前有正在运行的Chrome实例,Puppeteer无法加载指定的用户数据目录,需要先关闭所有Chrome窗口再运行代码。
检查权限:确保Node.js进程有权限访问该目录,macOS下如果遇到权限限制,可以尝试给终端或代码编辑器添加「完全磁盘访问」权限。
内容的提问来源于stack exchange,提问作者tomsma
相关产品推荐
相关产品推荐

