Playwright を使ってみた
Playwright という Microsoft 製のツールを試した。簡単にいうと Puppeteer の進化版で、Chrome、Firefox、Safari (WebKit) ブラウザを Puppeteer 風に簡単に操作できる。
お試ししてみたリポジトリは以下。
$ npm install -D playwright
で Playwright をインストールすると、裏で各ブラウザのバイナリがダウンロードされるようだ。当方環境で試したところ、Chromium (96.9MB)・Firefox (74.4MB) がダウンロードされた。WebKit ブラウザは OS バージョンが対応しておらず、ダウンロードに失敗した。WebKit だけはまだ対応バージョンがガチガチに決められていて、少々扱いづらい感じだ。
Playwright がブラウザを内蔵しているので、操作も簡単というワケ。リファレンスを参考に、見様見真似で実装すると、すぐに動かせた。
page.goto()
でページを移動したり、page.$()
や page.$$()
で DOM を参照するあたりは、Puppeteer とほとんど同じ要領だ。ほぼ全ての API が非同期関数なので、async
・await
を多用することになるだろう。
自分が作ったリポジトリでは、指定のページをスクレイピングするようなスクリプトにした。なかなかよきよき。