Область за экраном сохраняется чернотой при снятии скриншота

Здравствуйте! 

Наверняка ведь уже кто-то сталкивался с похожей проблемой, а я просто не могу найти решение.

Я снимаю скриншот страницы самым обычным методом:

File screen = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);

FileUtils.copyFile(screen, new File("sample.jpg"));

И получаю файл, в котором, все, что находилось за пределами окна браузера, сохраняется черным прямоугольником. Есть ли способ исправить это?

Браузер Chrome, драйвер запускается на локальной машине.

Была похожая проблема - помогла установка нового Chrome драйвера.

http://code.google.com/p/chromedriver/downloads/list

Хм, после обновления драйвера скриншот по-прежнему стал отображать только видимую часть страницы, а то, что раньше было черным, теперь просто оберзается. То есть страница высотой в 100px обрезается до размера окна в 700px высотой.

Це відбувається тому, що WebDriver по суті - це джаваскрипт, який не бачить далі ніж вікно браузера. Також він не заскрінить і вбудований плагін PDF і Flash.

Робіть скріншот засобами мови, на якій пишете. Ми використовуємо ASP.Net, тому працює наступний код:

      Bitmap bitmap = Capture.Screenshot();

Єдина проблема в тому, що він робить скрін головного монітора. Тому тест треба запускати на головному моніторі і щоб його не перекривали інші вікна.

 

Но разве в этом случае я не получу так же скрин только видмой части сайта? Той, что не скрыта за скролами?

Драйвер браузера может хотя бы знать, что у него внутри и что он отображает, а внешние инструменты видят только окно браузера и все.

Приведите код как определяете хром драйвер. также попробуйте обновить селениум до новой версии

 

System.setProperty("webdriver.chrome.driver", "lib\WebDriver\browserDrivers\chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.addArguments("--incognito");
driver =  new ChromeDriver(options);
 
Это код создания дравера.
 
Селениум последней версии.

http://code.google.com/p/chromedriver/issues/detail?id=294

Спасибо!