Puppeteer - 无法启动浏览器进程!在 Windows 服务中

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

我有一个小的 javascript 设置,可以使用 javascript 库 puppeteer 将 html 转换为 pdf。

通过打开命令面板并启动

node index.js
来托管服务,一切正常。 express-api 在预定义端口下托管服务并请求该服务,我会收到转换后的 PDF。

现在,使用库

node-windows
将 javascript 安装为 Windows 服务并请求服务,我收到以下错误消息:

Failed to launch the browser process!

现在我不知道该去哪里寻找根本原因。这可能是权限问题吗?

遵循我的 puppeteer javascript 代码:

const ValidationError = require('./../errors/ValidationError.js')
const puppeteer = require('puppeteer-core');

module.exports = class PdfService{
    static async htmlToPdf(html){
        if(!html){
            throw new ValidationError("no html");
        }
        const browser = await puppeteer.launch({
              headless: true,
            executablePath: process.env.EDGE_PATH,
           args: ["--no-sandbox"]
        });
        const page = await browser.newPage();
        await page.setContent(html, {
            waitUntil: "networkidle2"
        });
        const pdf = await page.pdf({format: 'A4',printBackground: true});
        await browser.close();
        return pdf;
    }
}
iis windows-services puppeteer windows-server-2012
1个回答
0
投票

启用与桌面交互就足够了,不需要从

Local System Account
更改为其他帐户。

步骤:

  1. 打开

    Services

  2. 仔细检查特定服务将启动 Puppeteer

  3. 切换到

    Log On
    选项卡

  4. 检查/启用

    Allow service to interact with desktop

© www.soinside.com 2019 - 2024. All rights reserved.