嗨,我正在做一些网络自动化。我正在尝试打开一个 url,但在 chrome 控制台中收到数据 URL 错误,因此我正在转向 Firefox 控制台,以解决 chrome 控制台中没有打开数据 url 的问题。问题是“npm install puppeteer-firefox”无法为 firefox 安装 puppeteer。如何为 Firefox 安装 puppeteer 并将其包含在代码中以便我可以使用它?
由于数据网址错误,代码无法在 Chrome 中运行
const url = await page.evaluate(async () => {
document.querySelector('.n3VNCb').src;
});
url.toString();
await page.goto(url);
我在 node.js 命令提示符中输入的内容来安装 puppeteer firefox。这不起作用
npm i puppeteer-firefox
我从node.js命令提示符收到错误
npm WARN 已弃用 [电子邮件受保护]:Firefox 支持正在逐渐过渡到 木偶师包。从 puppeteer v2.1.0 开始,您可以与 Firefox Nightly 交互。 puppeteer-firefox > 软件包将保持可用,直到过渡完成,但不再主动维护。 欲了解更多信息,请访问 https://wiki.mozilla.org/Remote
[电子邮件受保护] 安装 C:\Users\user\Desktop 文件名 文件名 ode_modules\puppeteer-firefox 节点安装.js
错误:无法下载 Firefox rv0.0.1! 错误:下载失败:服务器返回代码 404。URL: https://github.com/puppeteer/juggler/releases/download/v0.0.1/firefox-win64.zip
我也尝试了这些,因为错误说要做,但它们不起作用
(节点:14348)UnhandledPromiseRejectionWarning:错误:找不到最新的浏览器版本。运行“PUPPETEER_PRODUCT=firefox npm install”或“PUPPETEER_PRODUCT=firefox yarn install”来下载受支持的 Firefox 浏览器二进制文件。
PUPPETEER_PRODUCT=firefox npm 安装
PUPPETEER_PRODUCT=firefox 纱线安装
我遇到了类似的问题,您必须运行的命令实际上如下:
PUPPETEER_PRODUCT=firefox npm i puppeteer
来源:https://github.com/puppeteer/puppeteer/blob/v5.2.1/docs/api.md#puppeteerlaunchoptions
请不要再使用
puppeteer-firefox
套件。它已被弃用。相反,只需安装 puppeteer
,并选择 Firefox 作为所选产品。这里有一个来自 puppeteer 存储库的示例,展示了如何从测试脚本启动 Firefox。
输入以下命令来找到您的浏览器whereis firefox
OR
whereis google-chrome
我用的是chrome,所以我的也是。你可以用firefox路径替换它。
/usr/bin/google-chrome
因此,最后一步。
export PUPPETEER_EXECUTABLE_PATH='/usr/bin/google-chrome'
就是这样:)注:
您应该将此变量添加到您的 shell 配置中,例如 ~/.bashrc
~/.zshrc
,否则重新启动后,您将丢失此变量值。或者更多全球性的
/etc/environment
更新:上面的答案过去对我有用,但以下是最合适的解决方案,仍然适用于 Firefox。
为 puppeteer 安装 firefox。
npm i puppeteer-firefox
代码示例经过测试,适用于 chrome 和 firefox。
const puppeteerChrome = require('puppeteer');
const puppeteerFirefox = require('puppeteer-firefox');
(async () => {
const test = async browser => {
const page = await browser.newPage();
await page.setViewport({
width: 1280,
height: 800
});
await page.goto('https://www.bbc.com/news');
await page.hover('#nw-c-most-read-heading__title');
await page.screenshot({ path: 'bcc-most-read.png' })
await browser.close();
}
const chrome = await puppeteerChrome.launch({
headless: false,
slowMo: 50
});
await test(chrome);
const firefox = await puppeteerFirefox.launch({
headless: false,
slowMo: 50
});
await test(firefox);
})();
我个人对 Puppeteer 有疑问。 ubuntu上无法安装。只是空的.local-firefox。 Playwright 里面有 webkit、chromium 和 firefox。完全没有问题。它只是有效
从版本 23 开始,Puppeteer 具有
product
,而是 browser
:
const browser = await puppeteer.launch({
browser: "firefox"
});
你可以像这样安装Firefox
npx puppeteer browsers install firefox
您还可以尝试从node_modules文件夹中删除puppeteer并且
为我工作