gpt4 book ai didi

puppeteer - puppeteer 无法捕捉失败的请求和错误

转载 作者:行者123 更新时间:2023-12-04 12:56:56 34 4
gpt4 key购买 nike

我试图从失败的请求和js错误中收集数据。

我正在使用以下网站:https://nitzani1.wixsite.com/marketing-automation/3rd-page

该网站有一个对https://api.fixer.io/1latest的请求,该请求返回状态码404,

该页面还包含以下js错误:

"Uncaught (in promise) Fetch did not succeed"

我试图对波纹管进行编码,以捕获404和js错误,但未能成功。
不知道我在做什么错,对如何解决有任何想法吗?
const puppeteer = require('puppeteer');

function wait (ms) {
return new Promise(resolve => setTimeout(() => resolve(), ms));
}

var run = async () => {
const browser = await puppeteer.launch({
headless: false,
args: ['--start-fullscreen']
});

page = await browser.newPage();

page.on('error', err=> {
console.log('err: '+err);
});

page.on('pageerror', pageerr=> {
console.log('pageerr: '+pageerr);
});

page.on('requestfailed', err => console.log('requestfailed: '+err));

collectResponse = [];

await page.on('requestfailed', rf => {
console.log('rf: '+rf);
});

await page.on('response', response => {
const url = response.url();
response.buffer().then(
b => {
// console.log(url+' : '+response.status())
},
e => {
console.log('response err');
}
);
});
await wait(500);

await page.setViewport({ width: 1920, height: 1080 });
await page.goto('https://nitzani1.wixsite.com/marketing-automation/3rd-page', {
});
};

run();

最佳答案

完整的有效答案是:

const puppeteer = require('puppeteer');

const run = async () => {
const browser = await puppeteer.launch({
headless: true
});

const page = await browser.newPage();
// Catch all failed requests like 4xx..5xx status codes
page.on('requestfailed', request => {
console.log(`url: ${request.url()}, errText: ${request.failure().errorText}, method: ${request.method()}`)
});
// Catch console log errors
page.on("pageerror", err => {
console.log(`Page error: ${err.toString()}`);
});
// Catch all console messages
page.on('console', msg => {
console.log('Logger:', msg.type());
console.log('Logger:', msg.text());
console.log('Logger:', msg.location());

});

await page.setViewport({ width: 1920, height: 1080 });
await page.goto('https://nitzani1.wixsite.com/marketing-automation/3rd-page', { waitUntil: 'domcontentloaded' });
await page.waitFor(10000); // To be sure all exceptions logged and handled
await browser.close();
};

run();

保存在 .js文件中并轻松运行它。

关于puppeteer - puppeteer 无法捕捉失败的请求和错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50531779/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com