使用puppeteer-firefox打开具有本地引用的本地文件

时间:2019-03-07 04:25:48

标签: firefox puppeteer firefox-headless

这与Opening local html file using puppeteer类似,只是一个人使用常规的Puppeteer(无头Chrome),而这个人使用the Firefox version,并且我关心对其他本地文件的引用。

>

我正在尝试使用puppeteer-firefox打开本地HTML文件。这是一些示例代码:

const pptrFirefox = require('puppeteer-firefox');
const path = require('path');

(async () => {
  const browser = await pptrFirefox.launch();
  const page = await browser.newPage();
  await page.goto(`file:${path.join(__dirname, 'template.html')}`);
  await page.screenshot({path: 'example.png'});
  await browser.close();
})();

它挂在page.screenshot行上。

我已经尝试使用file:file://作为路径的前缀。两种方法都一样。

如果URL像https://example.com之类的远程URL可以很好地工作。

我的解决方法的第一个想法是通过使用模板库或仅使用readFile来获取所需的HTML字符串,然后将其传递给page.setContent。这可行,但是页面将​​不会加载其资产,例如本地图像文件的相对路径。我尝试用完整的file:路径为这些资产路径添加前缀;没什么。

我将puppeteer-firefox换成了普通的puppeteer,它可以正常工作。

无头的Firefox会拒绝加载本地文件吗?还是我做错了什么?还是puppeteer-firefox中存在错误?

0 个答案:

没有答案