运行 已经在 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。
要使用已安装的版本:
- 设置环境变量PUPPETEER_SKIP_CHROMIUM_DOWNLOAD
(https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#environment-variables)
- 使用可执行文件路径,正如您已经指出的那样。
关于你的第二个问题,使用--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'
时它起作用了
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。
要使用已安装的版本:
- 设置环境变量PUPPETEER_SKIP_CHROMIUM_DOWNLOAD (https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#environment-variables)
- 使用可执行文件路径,正如您已经指出的那样。
关于你的第二个问题,使用--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'