在macos上已安装的chrome上运行puppeteer

时间:2017-11-05 14:16:37

标签: google-chrome puppeteer

1.如何在mac机器上已经安装的chrome上运行Puppeteer脚本。我尝试使用以下脚本,无法运行。

2.有没有办法在这里打开具有特定窗口大小的chrome窗口我不是在谈论视口,我尝试使用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 Comment和jegadesh回答后,我更改了下面的代码,现在它正在工作,除了一个小问题:窗口打开的大小正确但窗口中的内容被限制为其他大小,请参见屏幕截图以下

工作代码:

const browser = await puppeteer.launch({

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


    });

enter image description here

3 个答案:

答案 0 :(得分:23)

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

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

答案 1 :(得分:2)

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

可以正常工作

答案 2 :(得分:1)

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

使用已安装的版本:

关于第二个问题,请使用--window-size。例如:" - window-size = 800,600"

请注意,如果您打开了一个具有明确设置的窗口大小的浏览器窗口,那么该大小将用于所有未来的窗口(忽略您为将来的窗口指定的任何大小)。要使新窗口大小生效,必须关闭所有先前打开的窗口。