Puppeteerの起動方法について
基本
ブラウザを起動して、新しいページを開いて指定URLにアクセスし、その後ブラウザを閉じる場合、処理は以下のようになります。
const puppeteer = require('puppeteer');
(async () => {
const options = {
headless: true,
args: ['--no-sandbox']
};
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://www.google.com');
// なにか処理
await browser.close();
})();
ただし、ヘッドレスでなく、実際に起動させてみると、chromeでは起動時にページ(タブ)が1つ開いています。 上記のnewPageメソッドが実行されると、新しいページ(タブ)が1つ追加されて、ページが2つになってしまいます。 起動時にあるページを利用する場合は、newPageの行を以下のように変更することが可能です。
const pages = await browser.pages(); const page = pages[0];
例
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const pages = await browser.pages();
const page = pages[0];
await page.goto('https://www.google.com');
// なにか処理
await browser.close();
})();
起動オプション
ブラウザを起動するとき、ウィンドウサイズやヘッドレスなどをオプションをlaunchメソッドで指定できます。
例
const puppeteer = require('puppeteer');
const options = {
headless: true,
args: [
'--no-sandbox',
'--window-size=400,800',
]
};
(async () => {
const browser = await puppeteer.launch(options);
...
})();
起動オプションについては次のページを参照