スクロールするWebページの画面キャプチャが正常に取得できない

3,428 views
Skip to first unread message

Tony Uchida

unread,
Oct 25, 2017, 6:11:25 AM10/25/17
to 日本Seleniumユーザーコミュニティ
スクロールするWebページの画面キャプチャが正常に取得できないとの事象が発生しました。
検証したところ、IEのWebDriverのバージョンにより発生有無が異ることが判明しました。

・3.4.0 不具合発生なし
・3.5.1 不具合発生あり
・3.6.0 不具合発生あり
*32bitのWebDriver使用

取り急ぎ、3.4.0を使用する運用としますが、今後修正される見込みがあるのでしょうか。

動作検証環境
Windows 7 SP1 32bit
IE 11.0.46

戸田広

unread,
Oct 25, 2017, 6:38:18 PM10/25/17
to 日本Seleniumユーザーコミュニティ
「正常に取得できない」というのはどういう状態のことでしょうか?
ページ全体のキャプチャが取れなくなった、とかでしょうか?


2017年10月25日水曜日 19時11分25秒 UTC+9 Tony Uchida:

Tony Uchida

unread,
Oct 25, 2017, 6:47:30 PM10/25/17
to 日本Seleniumユーザーコミュニティ
説明が不足しており、すみません。

具体的には、以下のとおりです。
・画像サイズ的には、縦長となっている。(スクロールした画面したサイズと思われる)
・ただし、キャプチャされた内容としては、画像上部に画面最下部のキャプチャがあり、そこから下は全て黒くなる。
※スクロールで5画面分(上から1 - 5とする)キャプチャする場合、5番目のキャプチャが最上部に表示され、
その下4画面分は、画像として黒となります。


2017年10月26日木曜日 7時38分18秒 UTC+9 戸田広:

戸田広

unread,
Oct 26, 2017, 6:48:22 PM10/26/17
to 日本Seleniumユーザーコミュニティ
取り急ぎ、手元の次の環境で
http://www.selenium.jp/test-site のスクリーンショットを取得してみましたが、
特に問題はありませんでした。
ページ全体のサイズではなく、
ページの見える部分のみのスクリーンショットになるのが
Seleniumとしては正しい動作です。

    * Windows 7(64bit)
    * Selenium 3.6.0
    * IE11
    * IEDriverServer 3.6.0 32bit

ページ全体のスクリーンショットを作成するのに、
Selenium以外の何らかのライブラリーを使われていませんか?
もしそうなら、そちらの不具合の有無も確認すべきです。

または、スクロールするWebページというのは、
例えば overflow:scroll やインラインフレームなどの
ページ内の別枠でスクロールするコンテンツだったりしますか?
その場合は、まだ私は試していません。



2017年10月26日木曜日 7時47分30秒 UTC+9 Tony Uchida:

Tony Uchida

unread,
Oct 27, 2017, 1:03:37 AM10/27/17
to 日本Seleniumユーザーコミュニティ
動作検証ありがとうございます。
私も同じページを同じ環境で取得してみたところ、事象が再現しました。

ページ

環境
* Windows 7(64bit)
* Selenium 3.6.0
* IE11
* IEDriverServer 3.6.0 32bit

※キャプチャ結果を添付致します。

> ページ全体のスクリーンショットを作成するのに、
> Selenium以外の何らかのライブラリーを使われていませんか?
> もしそうなら、そちらの不具合の有無も確認すべきです。

ご指摘ありがとうございます。
確認したところ、WebDriverスクリーンショットユーティリティである「aShot」を使用していました。
こちらが原因の可能性もありますので、確認してみます。

2017年10月27日金曜日 7時48分22秒 UTC+9 戸田広:
embedded0.png

Tony Uchida

unread,
Nov 8, 2017, 1:46:24 AM11/8/17
to 日本Seleniumユーザーコミュニティ
「aShot」ではなくSeleniumの機能でスクリーンショットで動作検証してみたところ、以下のようになりました。

・3.4.0 ページ全体のスクリーンショット
・3.5.0 ページの見える部分のみのスクリーンショット

> ページ全体のサイズではなく、ページの見える部分のみのスクリーンショットになるのが
> Seleniumとしては正しい動作です。

3.4.0ではページ全体のスクリーンショット(スクロールしたスクリーンショット)が取得できたのですが、
3.5.0で仕様が変更されたことになりますでしょうか?

2017年10月27日金曜日 14時03分37秒 UTC+9 Tony Uchida:

戸田広

unread,
Nov 8, 2017, 6:34:16 PM11/8/17
to 日本Seleniumユーザーコミュニティ
正確なバージョンは失念しましたが、
だいたいそのあたりの時期に
IEDriverServerはW3Cで策定中のWebDriver規格に合わせて作り直されています。
スクリーンショットは画面で見えている範囲、というのも、
その規格に準じたものです。
aShotを、この仕様変更に合わせて修正する必要があるでしょう。

Tony Uchida

unread,
Nov 8, 2017, 8:12:31 PM11/8/17
to 日本Seleniumユーザーコミュニティ
返信ありがとうございます。
規格準拠にて仕様変更が発生したとのことで、承知しました。

画面全体のスクリーンショットを取得するには、
3.4.0を使用する、もしくは、他の画面全体を取得できるライブラリを探す(もしくは作り込みを行う)ことが必要とのことですね。
上記を踏まえ、どのように対応するか検討したいと思います。


2017年11月9日木曜日 8時34分16秒 UTC+9 戸田広:
Reply all
Reply to author
Forward
0 new messages