我正在使用 playwright 来抓取数据,并且需要在 aws lambda 中运行。因此,对 chromium 使用包 @sparticuz/chromium。但是为了调试,需要在本地查看浏览器,那么如何关闭headless模式呢?这还可能吗?
您可以根据环境设置无头/有头模式。在这里我们可以检查代码是否在 lambda 上运行。
const isLambda = !!process.env.LAMBDA_TASK_ROOT;
console.log("Running on Lambda:", isLambda);
现在您只需在启动浏览器时将 headless 设置为 false 即可。
const browser = await puppeteer.launch({
args: chromium.args,
defaultViewport: chromium.defaultViewport,
executablePath: await chromium.executablePath(),
headless: !isLambda, // <-- it will be false when running locally since the env is not present
});