技術書典7向けの作業をしていて、ここしばらく追われてました。CEDEC 2019 とかでは、もう DirectX Raytracing を使っての話が多く、そろそろ本ブログでもやっていかないとなぁと思っている次第です。
さて技術書典のサイトで被チェック数が確認できるのですが、これを確認するのを自動化してみようと試行錯誤していました。既に、 GCP の Google cloud function で動くチェックツールを公開されている方が居まして、これを使えばそれで終わりです。
しかし、自分はGCPのほうは全く無知なので Azure や AWS で出来ないかなぁと思ってトライしていました。結果としては、これらの FaaS ではヘッドレスChrome が動作できないのと、元々のページが動的であることの2点より完全敗北しました。
最初の FaaS でなんとかやりたい!という野望は砕け散ったので、素直に Selenium と Chrome でなんとかすることにしました。Seleniumでヘッドレス Chrome を pip で次のようにインストールしたのですが、バージョン違いを言われて苦戦しました。
pip install chromedriver-binary
どうやら既に Chrome がインストールされている状況で、それと pip でインストールした Chrome のバージョン違いが起こると起動出来ないようです。自分の環境では次のようなエラーメッセージでした。
This version of ChromeDriver only supports Chrome version 77
そこで既にインストールされている Chrome のバージョンを調べて、 chromedriver-binary のリポジトリ(サイト)を確認して、近いバージョンのものを選んでインストールすることにしました。コマンド例は次の通りです。
pip install chromedriver-binary=76.0.3809.126
とりあえずはこれで Selenium から Chrome を起動して操作可能になったので、操作自動化を頑張ってみたいと思います。