2013-07-24 5 views
1

Я пытаюсь получить уменьшенный снимок экрана 400x400 от Google. Я пробовал это как в Селене, так и в Ватире без успеха.Selenium или Watir Webdriver, как сохранить уменьшенный снимок экрана?

require 'watir-webdriver' 
b = Watir::Browser.new 
b.goto 'google.com' 
b.window.resize_to(400,400) 
b.driver.save_screenshot("screenshot.jpg") 

Я всегда получаю скриншот с оригинальным размером браузера.

Любая идея, как я могу сохранить ее размер до 400x400?

ответ

0

Я смог воспроизвести проблему с Firefox, но Chrome создает уменьшенный снимок экрана. Я предполагаю, что это ошибка в FirefoxDriver. Посмотрите, если проблема уже указана в Selenium bug tracker, а если нет, сообщите об этом.

+0

http://i40.tinypic.com/2va06dy.png Это то, что я вижу с помощью драйвера Chrome. Это случилось с тобой? – Martin

+0

Да, что-то в этом роде. –

3

В настоящее время WebDriver определяет скриншот как «полный скриншот страницы». То есть, весь DOM должен быть представлен изображением, сгенерированным методом save_screenshot. Тот факт, что драйвер Chrome не создает скриншот полного DOM, является bug in the Chrome driver. Таким образом, реальный ответ заключается в том, что невозможно создать скриншот только порта просмотра браузера с помощью WebDriver.

Сказав это, возможно, для этого можно использовать другие программные средства, в зависимости от вашей ОС. В Windows, например, было бы довольно легко получить дескриптор окна рабочего стола (HWND), захватить изображение рабочего стола (используя Windows GetDesktop и PrintWindow API) и обрезать его, используя координаты, предоставленные WebDriver Window API.

+0

Любая идея решения для os x? – Martin

Смежные вопросы