如何安装和运行 Firefox 的 puppeteer

问题描述 投票:0回答:6

嗨,我正在做一些网络自动化。我正在尝试打开一个 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 纱线安装

javascript node.js firefox puppeteer webautomation
6个回答
24
投票

我遇到了类似的问题,您必须运行的命令实际上如下:

PUPPETEER_PRODUCT=firefox npm i puppeteer

来源:https://github.com/puppeteer/puppeteer/blob/v5.2.1/docs/api.md#puppeteerlaunchoptions


12
投票

请不要再使用

puppeteer-firefox
套件。它已被弃用。相反,只需安装
puppeteer
,并选择 Firefox 作为所选产品。这里有一个来自 puppeteer 存储库的示例,展示了如何从测试脚本启动 Firefox。

输入以下命令来找到您的浏览器

6
投票
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。完全没有问题。它只是有效

1
投票

从版本 23 开始,Puppeteer 具有

0
投票
product

,而是 browser:

const browser = await puppeteer.launch({
  browser: "firefox"
});
你可以像这样安装Firefox

npx puppeteer browsers install firefox

您还可以尝试从node_modules文件夹中删除puppeteer并且

-1
投票

为我工作

	

© www.soinside.com 2019 - 2024. All rights reserved.