02/25 更新: | Chrome で水平スクロールバーがスクリーンショットに写ってしまう問題を修正。 |
Selenium を使って自動テストを行っていると、表示された結果のスクリーンショットを撮って保存したい時がままある。
ところが、 Chrome や Firefox で Selenium のスクリーンショット機能を使うと、 ウィンドウに表示されている内容だけしか取得できない。
(ブラウザやそのバージョンによって動作が異なる)
この記事によると、これは Selenium の仕様らしい。
ブラウザごとの挙動の差はさておき、 ウィンドウサイズでの取得となってしまう Chrome と Firefox で、何とかページ全体のスクリーンショットを保存したい。
ここでは、 Selenium の Python Binding を使って、実現する方法を考えてみる。