node.js - 使用屏幕截图诊断在 Heroku 上运行的 Puppeteer 上的错误
问题描述
我不明白为什么 Puppeteer 在 Heroku 上运行时无法定位在本地运行时可以定位的元素。
我想通过让 Puppeteer 截取页面的屏幕截图来尝试诊断我的问题,但我不知道如何检索屏幕截图以便我可以看到它。
我在哪里可以在 Heroku 上查看生成的屏幕截图?
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
let url =
"https://www.realtor.ca/map#ZoomLevel=14&Center=43.744046%2C-79.406789&LatitudeMax=43.76832&LongitudeMax=-79.36641&LatitudeMin=43.71977&LongitudeMin=-79.44717&view=list&Sort=6-D&PropertyTypeGroupID=1&PropertySearchTypeId=1&TransactionTypeId=2&PriceMax=1500000&BuildingTypeId=1&Currency=CAD";
await page.goto(url, { timeout: 60000, waitUntil: "domcontentloaded" });
await page.setViewport({ width: 1024, height: 800 });
await page.screenshot({
path: "./screenshot.jpg",
type: "jpeg",
fullPage: true
});
await page.close();
await browser.close();
})();
解决方案
推荐阅读
- javascript - XMLHttpRequest 加载 XML 文件的不良行为
- winapi - ChangeDisplaySettings 似乎只适用于主监视器(返回 DISP_CHANGE_BADMODE)
- angularjs - 将 html-loader 与 angularJS (v1) 模板和 Jest 一起使用失败
- ssl - 在 Server 2012 上配置 SSL 证书
- mongodb - Mongo Db 中的更新
- python-3.x - 如何将 kwargs 传递给 pydantic 验证器
- perl - Perl Mojolicious 持久验证错误“不允许的属性:组件、openapi、服务器”
- java - 如果您询问用户(“输入数字 (1-99) 或按 0 退出”)并且用户输入了 0,如何终止程序 Java?
- python - 使用 OpenCV 的坐标
- mysql - VB.net,MySQL 列计数与第 1 行的值计数不匹配