2016-09-24 6 views
1

Я относительно новичок в использовании PhantomJS и хотел бы снять скриншоты нашего веб-сайта, чтобы впоследствии их было отбросить. Мне интересно узнать, повлияет ли изменение параметра пользовательского агента на перспективу скриншота (т. Е. Будет ли изображение другим)? - Если это не так, как бы вы предложили мне сделать скриншоты, имитирующие разные браузеры (надеюсь, используя Phantom, но открыты для предложений)?Изменяет ли настройки агента пользователя в PhantomJS перспективу захвата экрана/скриншота?

// PhantomJS Code 
page = require('webpage').create(); 
// Used for Firebird (old Firefox) 
page.settings.userAgent = 'Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.5) Gecko/20031007 Firebird/0.7'; 
// Used for Chrome 
page.settings.userAgent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36'; 
page.viewportSize = {width: 1200, height : 800}; 
page.open("webAddress", function() { 
    page.render(picName); 
    pahntom.exit(); 
}); 

Link to HTML/CSS code used and referenced below

Да, я проверил, изменив атрибут пользовательского агента, и приняли скриншоты для подтверждения (код выше). Наш сайт четко определен и не изменяется в общем от браузера к браузеру, так что это скорее предупредительное действие. - Я также пытался внести изменения, которые преднамеренно заставили бы сайт выглядеть по-разному, когда они использовались в разных браузерах. Они по-прежнему кажутся такими же, как PhantomJS, независимо от того, что я меняю.

** Отказ от ответственности: Как уже отмечалось, я относительно новичок в PhantomJS. Я прочитал большую часть документации и связанных с ней сообщений, но пока не нашел ответа на мой вопрос. Я также являюсь новым веб-разработчиком (проделали много программных бэкэнд, поэтому я не обязательно программист для новичков), поэтому, возможно, мои «преднамеренные» изменения были неправильными? Или, возможно, я не правильно использую атрибут user-agent?

Пожалуйста, дайте мне знать, если я могу быть более конкретным. - Любая/вся помощь будет принята с благодарностью!

+0

Это обязательно * может * выглядеть по-другому. –

ответ

0

Это, безусловно, может выглядит по-разному. Некоторые веб-серверы по умолчанию используют страницу с фиксированной шириной. Если вы специально настроили строку пользовательского агента, известную веб-серверу и обозначающую мобильный браузер, вы можете получить небольшую оптимизированную для экрана версию страницы.

У PhantomJS есть окно просмотра по умолчанию 400 x 300 пикселей. Это означает, что мобильные версии страниц, скорее всего, отображаются как ожидалось. Страницы с фиксированной шириной могут увеличить размер видового экрана.

Не все сайты реагируют по-разному в зависимости от строки пользовательского агента. Имейте в виду, что страница, вероятно, будет выглядеть по-другому, если вы снимаете скриншоты во время нескольких сценариев, не меняя ничего, потому что некоторые страницы, а также объявления часто меняются.

+0

Спасибо за это! - На самом деле я устанавливаю свои собственные настройки видового экрана. Будет ли это предотвращать различные результаты из разных браузеров при изменении пользовательского агента? Причина, по которой я прошу, это b/c тестов, над которыми я работал выше. Я использовал пользовательский агент хром-браузера, а затем использовал пользовательский агент мобильного сафари. Но результаты выглядели одинаково. Возможно, это b/c я определил область просмотра? – SeanRamzan

+0

Некоторые веб-сайты вообще не обнюхивают строку пользовательского агента и вместо этого полагаются на размер окна просмотра, используя отзывчивый дизайн. –

+0

А я вижу, так может быть и проблема. - Большое спасибо @Artjom за помощь, это действительно помогло прояснить ситуацию! – SeanRamzan