Puppeteer运行截图示例代码后文件未保存到指定目录问题
问题根因
截图未生成的核心错误是page.screenshot()的参数格式写错了:
该方法的配置对象中,指定保存路径的固定键名为path,对应的值为完整的文件存储路径,你传入的{'Users/shreya/Desktop/test1/': 'example.png'}属于键值颠倒、键名非法,方法无法识别保存位置,自然不会在你预期的目录生成文件。
另外你写的路径缺少根目录前缀/,就算键名写对,Users/shreya/...也是相对路径,不会指向你桌面的test1文件夹。
可直接运行的修正代码
const puppeteer = require('puppeteer'); (async () => { const browser = await puppeteer.launch({headless:false}); const page = await browser.newPage(); await page.goto('https://www.google.com',{waitUntil: 'load'}); // 修正screenshot参数:固定用path作为键,值为截图的完整绝对路径 await page.screenshot({path: '/Users/shreya/Desktop/test1/example.png'}); await browser.close(); })();
补充说明
- 运行时出现的Experimental API警告是Puppeteer版本自带的正常提示,不影响基础功能使用,无需额外处理。
- 安装依赖时弹出的警告、漏洞提示是npm依赖生态的常见情况,本地学习调试阶段不会影响截图功能的正常运行。
- 运行修正代码前先确认
/Users/shreya/Desktop/test1文件夹已经存在,Puppeteer不会自动创建不存在的父级目录,路径缺失会直接导致写入失败。 - 如果排查路径麻烦,可以先把参数改成
{path: 'example.png'}测试,此时截图会保存在你执行node命令所在的终端工作目录,先确认截图功能本身正常,再调整自定义路径即可。
内容的提问来源于stack exchange,提问作者sj443
相关产品推荐
相关产品推荐

