firefox - 使用 puppeteer-firefox 打开具有本地引用的本地文件
问题描述
这是一个与使用 puppeteer 打开本地 html 文件类似的问题,除了一个使用常规 Puppeteer(无头 Chrome)而这个使用Firefox 版本,我关心对其他本地文件的引用。
我正在尝试使用 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:
andfile://
作为路径的前缀。无论哪种方式都是一样的。
如果 URL 是远程的,则它可以正常工作https://example.com
。
我对解决方法的第一个想法是通过使用模板库或只是获取我想要的 HTML 字符串,readFile
然后将其传递给page.setContent
. 这可行,但是页面不会加载其资产,例如本地图像文件的相对路径。我尝试用完整file:
路径为这些资产路径添加前缀;没有不同。
我将 puppeteer-firefox 换成了普通的 puppeteer,它可以工作。
无头 Firefox 会拒绝加载本地文件吗?还是我做错了什么?或者 puppeteer-firefox 中是否存在错误?
解决方案
推荐阅读
- javascript - 如何使用带有钩子的 React Infinite Scroll
- spring-batch - 批量使用的弹簧云数据流是否只需要船长?
- html - 将 Google 日历添加到您的网站会使其不再是静态的吗?
- kotlin - 在 Kotlin 中获取静态成员属性的名称
- python - 如何删除 Flask 服务器消息
- java - 尝试在回收站视图中一次选择一个复选框,但应用程序崩溃
- java - Apache Curator TestingServer 创建抛出 java.lang.NoSuchMethodError
- c++ - QT Creator 如何从源代码创建库并在项目中使用它
- javascript - Js追加更改索引
- javascript - wpt的传单更改标记