puppeteer 特定の要素をまつ

onnga-wasabi 15views 更新:2017年12月7日

puppetterで「ボタンをクリックする」や、「値を取得する」など要素を指定する際に、ページ遷移を伴うとページがロードされる時間を考慮しなければなりません。要素を対象にすることで解決できます。

const puppeteer=require('puppeteer');
(async () => {

  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://github.com');
  await page.$eval('input[name="username"]',(el)=>{el.value='mail@example.com'})
  await page.$eval('input[name="password"]',(el)=>{el.value='pass'})
  await page.click('button[type="submit"]')
  //通常のセレクタの指定の仕方でok
  await page.waitFor('a.ButtonAction')
  await page.click('a.ButtonAction')

  browser.close();
})();

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません