Remote Browser 基于 Web Extensions API 标准构建,是一个使用 JavaScript 以编程方式控制诸如 Chrome 和 Firefox 之类的网络浏览器的库。此前你可能已经听说过类似的浏览器自动化框架,例如 Puppeteer 和 Selenium。
Remote Browser 与这些框架非常相似,它可用于完成与 UI 测试、服务器端渲染(SSR)以及网页抓取相关的各种任务。但不同之处在于它使用标准的跨浏览器兼容技术构建,其主要目标是促进与现有 API 的交互,而不是创建自己新的 API。
下面这段示例代码的作用是导航至选项卡并使用 Remote Browser 进行截图
import Browser from 'remote-browser'; (async () => { // Create and launch a new browser instance. const browser = new Browser(); await browser.launch(); // Directly access the Web Extensions API from a remote client. const tab = await browser.tabs.create({ url: 'https://intoli.com' }); const screenshot = await browser.tabs.captureVisibleTab(); })();