运行 已经在 macOS 上安装了 puppeteer chrome

run puppeteer on already installed chrome on macos

1.How 我可以 运行 在 mac machine 中已经安装的 chrome 上的 Puppeteer 脚本吗?我尝试使用以下脚本,无法 运行.

2.Is 有什么方法可以在这里打开具有特定 window 大小的 chrome window 我不是在谈论视口,我尝试使用 args "--app -shell-host-window-size=1600x1239" -- 不工作。

谁能帮我解决以上两个问题。在此先感谢您的帮助

const puppeteer = require('puppeteer');

(async() => {
    const browser = await puppeteer.launch({

        headless: false,
        executablePath: '/Applications/Google Chrome.app/',
        args: ["--app-shell-host-window-size=1600x1239"]


    });
    const page = await browser.newPage();
    await page.goto('http://localhost:8282/publisher/login' ,{
        waitUntil: 'load'
    });
    await page.screenshot({path: '../screenshots/cms-local.png'});

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

按照下面的 Eric 评论和 jegadesh 回答后,我更改了如下代码,现在它可以正常工作,除了一个小问题:window 以正确的大小打开,但 window 中的内容被限制为其他尺寸,请参见下面的屏幕截图

工作代码:

const browser = await puppeteer.launch({

        headless: false,
        // executablePath: '/Applications/Google Chrome.app/',
        args: ["--window-size=2400,1239"]


    });

关于您的第一个问题,Puppeteer 文档表明它可以与已安装的 Chromium 版本一起使用——不是 Chrome。

要使用已安装的版本:

关于你的第二个问题,使用--window-size。例如:“--window-size=800,600”

请注意,如果您打开浏览器 window 并显式设置了 window 大小,则该大小将用于以后的所有 windows(忽略任何大小您为将来指定 windows)。要使新的 window-size 生效,您必须关闭所有以前打开的 windows.

您可以设置executablePath: '/Applications/Google Chrome.app/'...

你可以在chrome中浏览chrome://version/,找到executableFilePath(可能不是这个名字,我的chrome不是英文版),用这个。

见下方截图

对我来说,当我设置 executablePath: '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome'

时它起作用了