PuppeteerはSeleniumIDEのような動作を記録してくれるがなかった。2018/08/17のはてなブックマークに「Puppeteer Recorder」という拡張機能があったので試してみた
前提
Puppeteerとは
ヘッドレスブラウザをコントロールするツールです。
Google先生のChromeのチームが開発しているツールなので安心です
github.com
Puppeteer Recorderとは
Chromeでおこなった行動を記録してPuppeteerのコードにおきかえてくれるChromeの拡張機能です
テスト結果
入門的な所をやってみた
googleの検索
const puppeteer = require('puppeteer'); (async () => { const browser = await puppeteer.launch() const page = await browser.newPage() await page.goto('https://www.google.com/') await page.click('#lst-ib') await browser.close() })()
検索ワードのイベントが消える?なぜだ?
githubのログイン
const puppeteer = require('puppeteer'); (async () => { const browser = await puppeteer.launch() const page = await browser.newPage() await page.goto('https://github.com/login') await page.click('#login_field') await page.click('#password') await page.click('.btn') await browser.close() })()
入力イベントが取れない・・・・
何回かやったらとれた
const puppeteer = require('puppeteer'); (async () => { const browser = await puppeteer.launch() const page = await browser.newPage() await page.goto('https://github.com/login') await page.click('#login_field') await page.type('#login_field', 'masalib@gmail.com') await page.type('#password', 'PasswordEntryHidden') await page.click('#password') await page.click('.btn') await browser.close() })()
とれる時ととれないパターンの違いがまだ把握できていない
感想
- まだ不安定な所はあるけど、タグの要素を調べるが少し楽になるかと思う
- 私だけかもしれないがシークレットモードが動かないので動くようにしてほしい
- 自動入力をオフにして記録したほうがいいのかも