Puppeteer是否仅与chrome浏览器一起使用?其他人呢?
Puppeteer是一个浏览器测试自动化Node.js库,它提供了一个高级API来通过DevTools协议控制无头Chrome或Chromium。
然而,由于Puppeteer 3.0支持Firefox,这一举动将增加其跨浏览器测试目的的使用。
Microsoft Edge是基于Chromium构建的,所以它也被支持。
正如iamdlm指出的那样,在puppeteer中也可以使用Firefox。
如果你正在寻找一个类似的浏览器自动化API,支持更多的木偶,也有来自微软的剧作家。
核心API匹配puppeteer的90%,另外还有更多针对浏览器测试的方法。它们如此相似的原因是:它是由前木偶师团队编写的(在他们从谷歌转到微软之后)。
它支持:
- Chrome/Chromium (+ Edge, Opera, Chrome浏览器) Firefox
- Webkit (Safari)
他们的Firefox和Webkit使用了所谓的"杂耍器";-修补了原始浏览器的二进制文件。(Puppeteer的Firefox实现是不同的,它与真正的Firefox夜间二进制文件通信)
在剧作家中使用浏览器的例子:
// @ts-check
const playwright = require('playwright');
(async () => {
// Try to add 'firefox' to the list ↓
for (const browserType of ['chromium', 'webkit']) {
/** @type {import('playwright').Browser} */
const browser = await playwright[browserType].launch();
const context = await browser.newContext();
const page = await context.newPage();
await page.goto('http://whatsmyuseragent.org/');
await page.screenshot({ path: `example-${browserType}.png` });
await browser.close();
}
})();
来源:try.playwright.tech