gpt4 book ai didi

javascript - 带有 Chrome 可执行文件的 Puppeteer 中的外部资源无法加载 (net::ERR_EMPTY_RESPONSE)

转载 作者:行者123 更新时间:2023-12-03 06:55:38 24 4
gpt4 key购买 nike

我在使用完整 Chrome 可执行文件(不是默认 Chromium)运行的 Puppeteer 作业中使用外部资源时遇到问题。任何帮助将不胜感激!
因此,例如,如果我使用公共(public) URL 加载视频,即使我在浏览器中手动点击它也能正常工作,它也会失败。

const videoElement = document.createElement('video');
videoElement.src = src;
videoElement.onloadedmetadata = function() {
console.log(videoElement.duration);
};
这是我的 Puppeteer 电话:
(async () => {
const browser = await puppeteer.launch({
args: [
'--remote-debugging-port=9222',
'--autoplay-policy=no-user-gesture-required',
'--allow-insecure-localhost',
'--proxy-server=http://localhost:9000',
'--proxy-bypass-list=""',
'--no-sandbox',
'--disable-setuid-sandbox',
],
executablePath:
'/Applications/Google Chrome.app/Contents/MacOS/Google Chrome',
});

const page = await browser.newPage();
logConsole(page);

await page.goto(`http://${hostname}/${path}`, {
waitUntil: 'networkidle2',
});

await page.waitForSelector('#job-complete');
console.log('Job complete!');

await browser.close();
})();
与许多 Puppeteer 示例不同,这里的问题不在于我的测试没有等待足够长的时间。资源几乎无法立即加载/返回空响应。
它似乎也不是身份验证问题 - 我可以很好地访问自己的服务器。
虽然我这里没有在 https 上运行,但我直接在浏览器中尝试的 URL 可以在没有 SSL 的情况下工作。
我还应该提到这是一个 React (CRA) 网站,我正在使用 Node.js 调用 Puppeteer。
我可以看到至少 3 个其他外部资源(非视频)也失败了。是否有我遗漏的标志或我应该使用的东西?非常感谢您的帮助!

最佳答案

就我而言,我不得不使用 puppeteer-extra 和 puppeteer-extra-plugin-stealth:

const puppeteer = require('puppeteer-extra');
const StealthPlugin = require('puppeteer-extra-plugin-stealth');
puppeteer.use(StealthPlugin());
我还发现以下标志很有用:
const browser = await puppeteer.launch({
args: [
'--disable-web-security',
'--autoplay-policy=no-user-gesture-required',
'--no-sandbox',
'--disable-setuid-sandbox',
'--remote-debugging-port=9222',
'--allow-insecure-localhost',
],
executablePath:
'/Applications/Google Chrome.app/Contents/MacOS/Google Chrome',
});
最后,我发现在某些情况下有必要绕过 CSP:
await page.setBypassCSP(true);
请小心使用这些相当不安全的设置😬

关于javascript - 带有 Chrome 可执行文件的 Puppeteer 中的外部资源无法加载 (net::ERR_EMPTY_RESPONSE),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64507895/

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