推奨はしませんが、対象ページごとの個別対応なら方法はあります。
FirefoxDriverのスクリーンショット取得の実装は
「スクロールしてキャプチャー画像を接ぎ合わせる」ではなく、
「画面全体の要素をcanvasにコピー描画した後、canvasのAPIでPNG画像に変換する」
という風になっています。
なので、「スクロールさせないでキャプチャー」という風な状況を作りたいときには
「画面全体の要素のheightを、スクロールさせないで表示できるheight風の値にする」
ということができればOKということになります。
例えば、body要素直下にページ全体を包含する要素が1つあれば、
JavaScriptでその要素のheightを調整して、かつ overflow: hidden にすれば
それらしい感じになります。
Java
1WebDriver driver = new FirefoxDriver();
2driver.get("http://backyard.imjp.co.jp/static/feed/atom.xml");
3JavascriptExecutor jsExecutor = (JavascriptExecutor) driver;
4jsExecutor.executeScript("var a='500px',b='hidden',d=document,c=d.getElementById('feedBody').style;c.height=a;c.overflow=b;");
なぜ推奨しないかというと、コンテンツの動作や表示に予期しない影響を与える可能性があって、
あるがままのシステムの状態をテストする、という趣旨からははずれてしまうからです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/10/14 07:44