いよいよPuppeteerを使う理由がなくなってきた

空き時間を活用しつつ、 puppeteer-rubyplaywright-ruby-client という2つのOSSを育てている。puppeteer-rubyGoogle Chromeチームによる元祖Puppeteer をまるっとRubyで再実装したライブラリで、playwright-ruby-clientは PuppeteerからフォークしてMicrosoft(のなかの元Chromeチームメンバー)が育てているPlaywright のクライアントAPIRubyで実装したライブラリだ。

yusukeiwaki.hatenablog.com

この記事を書いたときには、「Playwrightは自身が起動したブラウザしか自動操作できない」という大きな欠点を挙げていた。

しかし、その数週間後、Playwright 1.9.0で browserType.connectOverCDP というAPIが追加されて、こいつがまさに puppeteer.connect 相当のことをやってくれるようになった。

github.com

つまり、「Seleniumの補強として使う」ということが、PuppeteerのみならずPlaywrightでもできてしまうようになった。

f:id:YusukeIwaki:20210419135049p:plain

現在はpuppeteer-rubyとplaywright-ruby-clientの2つのOSSを現在育てているけど、今後は本格的にplaywright-ruby-clientのほうを注力していくことになるかもしれない。