我正在尝试使用 puppeteer 呈现 html 电子邮件消息,其中包含来自 url 的图像,而这些 URL 并不总是包含协议方案。例如:<img src="example.com/someimage.jpg" /a>
,src确实应该是https://example.com/someimage.jpg
or http://....
我很清楚该网址should包含协议方案,但我无法控制电子邮件消息正文中收到的 html。许多邮件客户端(例如 gmail)可以很好地呈现此类电子邮件。我想在木偶师中模仿这种行为。
Puppeteer 中是否有某种方法可以捕获错误,然后:
- 尝试在 href 前面加上 https:// ,但失败了
- 尝试在 href 前面加上 http:// ,但失败了
- 然后显示损坏的图像?
这就是我渲染 html 的方法:
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.setJavaScriptEnabled(false);
await page.setContent(htmlEmailBody);
const content = await page.$("body");
const imageBuffer = await page.screenshot({type: "jpeg", omitBackground: true, fullPage: true});
当所有 url 都有一个方案时,这种方法效果很好。当某些 URL 并不总是包含该方案时,使其正常工作的正确方法是什么?
这个问题与puppeteer 不会打开没有协议的 url https://stackoverflow.com/questions/52090433/puppeteer-doesnt-open-a-url-without-protocol但不幸的是它没有回答我的问题。
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)