Jul*_*ski 24 node.js puppeteer
我正在尝试制作一个简单的 Puppeteer 项目。我当前的代码只是一个测试。但这不起作用。
import bypass from './captcha/captchaBypasser.js';
import {createRequire} from "module";
const require = createRequire(import.meta.url);
const puppeteer = require('puppeteer-extra');
const hidden = require('puppeteer-extra-plugin-stealth')
test()
async function test() {
// Launch sequence
puppeteer.use(hidden())
const browser = await puppeteer.launch({
args: ['--no-sandbox',],
headless: false,
ignoreHTTPSErrors: true
})
const page = await browser.newPage()
await page.setViewport({
width: 1920,
height: 1280,
deviceScaleFactor: 1,
});
//Go to page
await page.goto('https://google.com/', {
waitUntil: 'networkidle0',
});
}
Run Code Online (Sandbox Code Playgroud)
我四处寻找解释,但似乎我是唯一遇到此错误的人
throw new Error(message);
^
Error: An `executablePath` or `channel` must be specified for `puppeteer-core`
at assert (C:\Users\Julian\Desktop\project\node_modules\puppeteer-core\lib\cjs\puppeteer\util\assert.js:28:15)
at ChromeLauncher.launch (C:\Users\Julian\Desktop\project\node_modules\puppeteer-core\lib\cjs\puppeteer\node\ChromeLauncher.js:69:36)
at PuppeteerNode.launch (C:\Users\Julian\Desktop\project\node_modules\puppeteer-core\lib\cjs\puppeteer\node\PuppeteerNode.js:154:105)
at PuppeteerExtra.launch (C:\Users\Julian\Desktop\project\node_modules\puppeteer-extra\dist\index.cjs.js:128:41)
at async test (file:///C:/Users/Julian/Desktop/project/test.js:21:19)
Node.js v18.12.0
Run Code Online (Sandbox Code Playgroud)
我期待 Puppeteer 实例弹出并访问 google.com。相反,我得到了一个错误。
小智 43
看起来 puppeteer-core 现在是executablePath
强制性的。
尝试这个:
import bypass from './captcha/captchaBypasser.js';
import {createRequire} from "module";
const require = createRequire(import.meta.url);
const puppeteer = require('puppeteer-extra');
const hidden = require('puppeteer-extra-plugin-stealth')
// require executablePath from puppeteer
const {executablePath} = require('puppeteer')
test()
async function test() {
// Launch sequence
puppeteer.use(hidden())
const browser = await puppeteer.launch({
args: ['--no-sandbox',],
headless: false,
ignoreHTTPSErrors: true,
// add this
executablePath: executablePath(),
})
const page = await browser.newPage()
await page.setViewport({
width: 1920,
height: 1280,
deviceScaleFactor: 1,
});
// Go to page
await page.goto('https://google.com/', {
waitUntil: 'networkidle0',
});
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
22412 次 |
最近记录: |