ヘッドレスChromeや、Chromeをブログラムで操作できるpuppeteer その2

今回は、ヘッドレスモードでも巡回させています。

動画で使ったソースは以下

const puppeteer = require('puppeteer');
(async () => {
  //const browser = await puppeteer.launch({ headless: false, defaultViewport: { width: 1920, height: 1080 }, args: ['--start-maximized'] })
  const browser = await puppeteer.launch({ headless: true, defaultViewport: { width: 1920, height: 1080 }, args: ['--start-maximized'] })
  const page = await browser.newPage()
  
//  const navigationPromise = page.waitForNavigation()
  
//  await navigationPromise
  
  await page.goto('http://localhost:3000/users')
  
  await page.setViewport({ width: 1316, height: 632 })
  
  await page.waitForSelector('table > tbody > tr:nth-child(6) > td:nth-child(4) > a')
  await page.screenshot({path: 'test01-1.png'});
  await page.click('table > tbody > tr:nth-child(6) > td:nth-child(4) > a')
  
  await page.waitForSelector('body > a:nth-child(4)')
  await page.screenshot({path: 'test01-2.png'});
  await page.click('body > a:nth-child(4)')
  await page.screenshot({path: 'test01-3.png'});
  
  await browser.close()
})()

前回の動画のソースに、スクリーンショットを出力する部分を追加しております。

あと上のソースはヘッドレスモードのソースになっていて、表示させながら巡回したい時は

  const browser = await puppeteer.launch({ headless: true .......

のtrue の部分を falseにすればOK!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です