在 Node Red 中使用剧作家

问题描述 投票:0回答:1

我正在尝试在树莓派 B 上使用 playwright 来生成网页的屏幕截图。

.js 文件运行良好

const { chromium } = require('playwright');

(async () => {
  const browser = await chromium.launch({
    headless: true
  });
  const context = await browser.newContext();
  const page = await context.newPage();
  await page.goto('https://www.wikipedia.org/');
  await page.screenshot({path:'wiki.png'})

  // ---------------------
  await context.close();
  await browser.close();
})();

理想情况下,我想在 NodeRed 中执行此操作,但将代码粘贴到功能块中会产生:

11/8/2023, 2:24:40 PMnode: function 1
function : (error)
"ReferenceError: require is not defined (line 2, col 22)"

这是一个容易解决的问题吗?或者如何从 Nodered 中执行 javascript 文件?

尝试在功能块内粘贴代码...出现错误 还尝试添加 node-red-contrib-playwright 节点,但我看不到任何文档,并且它不会添加任何节点。

playwright node-red
1个回答
0
投票

节点红色文档涵盖了这一点这里

你有2个选择

  1. 编辑
    settings.js
    文件以将剧作家模块添加到全局上下文中。您需要使用
    global.get('playwright')
    而不是
    require('playwright')
  2. 将 playwright 添加到功能节点的设置选项卡并使用
    const chromium = playwright.chromium
© www.soinside.com 2019 - 2024. All rights reserved.