Javascript 木偶演员在MacOS工作,但不在Windows中工作

Javascript 木偶演员在MacOS工作,但不在Windows中工作,javascript,node.js,windows,macos,puppeteer,Javascript,Node.js,Windows,Macos,Puppeteer,我制作了一个节点脚本,它在MacOS上使用了Puppeter。脚本只是启动木偶演员并拦截请求 以下是使用木偶演员的部分代码: const getAllUrls = async (rootUrl) => { const puppeteer = require('puppeteer'); const urls = []; await puppeteer.launch().then(async browser => { const page = aw

我制作了一个节点脚本,它在MacOS上使用了Puppeter。脚本只是启动木偶演员并拦截请求

以下是使用木偶演员的部分代码:

const getAllUrls = async (rootUrl) => {
    const puppeteer = require('puppeteer');
    const urls = [];
    await puppeteer.launch().then(async browser => {
        const page = await browser.newPage();
        await page.setRequestInterception(true);
        page.on('request', interceptedRequest => {
            if (isRelevantUrl(interceptedRequest.url())) {
                urls.push(interceptedRequest.url());
                interceptedRequest.abort();
            } else {
                interceptedRequest.continue();
            }
        });
        await page.goto(rootUrl);
        await browser.close()
    })
    .catch(err => console.log(err));

    return urls;

}
在MacOS上运行脚本时,脚本运行得非常好。但是,当我尝试在我的办公室中使用Windows运行它时,我收到以下错误消息:

错误:无法启动chrome

故障排除:

立刻 (C:\Users……。\node\u modules\puppeter\lib\Launcher.js:339:14)位于 ChildProcess.helper.addEventListener (C:\Users……。\node\u modules\puppeter\lib\Launcher.js:329:60)

我尝试了Puppeter疑难解答推荐的以下配置:

const browser = await puppeteer.launch({
  ignoreDefaultArgs: ['--disable-extensions'],
});
但这没用

我已经硬拷贝了脚本(当然没有节点模块),并将其粘贴到我办公室的项目上。然后做了
npm i
。 脚本中使用的其他包在Windows上也运行良好


请提供帮助。

您是否尝试在windows计算机上手动安装Puppeter?我想我去年在将mac开发的代码移植到windows时遇到了类似的情况。@tamak手动安装是什么意思?安装它而不做npm我木偶?怎么用?我不认为这能解决我的问题…你的代码在我的Mac上运行正常,但我做了一些更改。我创建了一个伪函数
isRelevantUrl
,它返回对
true
false
的任何调用(我已经尝试了这两种方法)。我真的怀疑这个函数-
isRelevantUrl
。你能发布这个消息来源吗?只需再次尝试部署代码
package.json
,然后再次尝试
npm安装
。还可以尝试在Mac上对
wait browser.close()
@edimanto添加注释,因为它工作正常。问题出在Windows上。我甚至试过只做
puppeter.launch()
,但我得到了同样的错误
isRelevantUrl()
只需返回true或false,这取决于url是否有特定的子字符串,因此它不是真正的“相关”lol。我觉得在Windows上运行Chromium path时可能有问题。。。