Webアプリ組み込み目的でSelenium WebDriver + Headless Chromium/Firefoxを使うときの雑多な知見

魚類は一般には変温動物とされますが、マグロなど一部の魚は体温を一定に保ち活動能力を維持する仕組みがあり事実上の恒温動物としての特徴をもつこともあるのだそうです。

PythonベースのWebアプリにHeadless Chrome(Chromium)やHeadless Firefoxを組み込みSeleniumでこれらを制御しようとしたとき、細かいことにいろいろとハマってしまいました。公式サンプルあるいはQiita記事などを含め、1つの例で自分の手元の環境でちゃんと動くようなものがまとまっているものがなかったので、知見をまとめました。
HerokuあるいはDokkuのような環境、すなわちUbuntuベースでDockerベースであり、計算リソースが比較的貧弱な環境を想定していますが、開発用にMacでも確認しています。

Continue reading