Rob*_*obo 10 javascript firefox webautomation node.js puppeteer
嗨,我正在做一些网络自动化。我正在尝试打开一个 url,但我在 chrome 控制台中收到数据 URL 错误,所以我转向 firefox 控制台以解决在 chrome 控制台中打开的无数据 url 问题。问题是“npm install puppeteer-firefox”无法为 firefox 安装 puppeteer。如何为 firefox 安装 puppeteer 并将其包含在代码中以便我可以使用它?
由于数据 url 错误,代码在 chrome 中不起作用
const url = await page.evaluate(async () => {
document.querySelector('.n3VNCb').src;
});
url.toString();
await page.goto(url);
Run Code Online (Sandbox Code Playgroud)
我在 node.js 命令提示符中输入的内容来安装 puppeteer firefox。这没有用
npm i puppeteer-firefox
Run Code Online (Sandbox Code Playgroud)
我从 node.js 命令提示符收到的错误
npm WARN 已弃用 puppeteer-firefox@0.5.1:Firefox 支持正在逐渐过渡到 puppeteer 包。从 puppeteer v2.1.0 开始,您可以与 Firefox Nightly 进行交互。puppeteer-firefox > 包将一直可用,直到转换完成,但不再主动维护。有关更多信息,请访问https://wiki.mozilla.org/Remote
puppeteer-firefox@0.5.1 安装 C:\Users\user\Desktop\filename\filename\node_modules\puppeteer-firefox node install.js
错误:无法下载 Firefox rv0.0.1!错误:下载失败:服务器返回代码 404。网址: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 install
PUPPETEER_PRODUCT=firefox 纱线安装
Cal*_*had 10
我有一个类似的问题,你必须运行的命令实际上如下:
PUPPETEER_PRODUCT=firefox npm i puppeteer
来源:https : //github.com/puppeteer/puppeteer/blob/v5.2.1/docs/api.md#puppeteerlaunchoptions
小智 8
请不要再使用该puppeteer-firefox软件包。它已被弃用。相反,只要安装puppeteer有Firefox作为选择产品。这是puppeteer 存储库中的示例,显示了如何从测试脚本启动 Firefox。
输入下面的命令来找到您的浏览器
whereis firefox
OR
whereis google-chrome
Run Code Online (Sandbox Code Playgroud)
我用的是铬合金,我的也是。您可以将其替换为 firefox 路径。
/usr/bin/google-chrome
因此,这是最后一步。
export PUPPETEER_EXECUTABLE_PATH='/usr/bin/google-chrome'
Run Code Online (Sandbox Code Playgroud)
就是这样 :)
笔记:
您应该将此变量添加到您的 shell 配置中,~/.bashrc否则~/.zshrc在重新启动后,您将丢失此变量值。或者更多地在全球范围内/etc/environment
更新:
上面的答案过去对我有用,但以下是最合适的解决方案,仍然适用于 Firefox。
为 puppeteer 安装 firefox。
npm i puppeteer-firefox
Run Code Online (Sandbox Code Playgroud)
代码示例经过测试,适用于 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);
})();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20631 次 |
| 最近记录: |