2016-10-28 3 views
0

Im using CasperJS 0.10.1 SlimerJS 1.1.3 Firefox 45 на CentOS 7.2 Я пытаюсь установить свойства window.screen, как видно по приведенному ниже коду на скриншоте веб-сайта, говорит 640x480Установить разрешение экрана в CapserJS/SlimerJS

var casper = require('casper').create({ verbose: true, logLevel: 'debug' }); 
casper.on('page.initialized', function (page) { 
    page.evaluate(function() { 
     (function() { 
      window.screen = { 
       width: 1600, 
       height: 900 
      }; 
     }) 
    }); 
}); 
casper 
    .start() 
    .thenOpen('http://www.whatismyscreenresolution.com/') 
    .wait(5000, function() { this.capture('/cas/_test_screenres.jpg',{top:0,left:0,width:1600,height:900}); }) 
    .run(); 

ответ

1

Вы можете установить размер видового экрана:

casper.viewport(1600, 900); 

Или еще:

function on_init (page){ 
page.viewportSize = {width:1600,height:900} 
page.evaluate(function(){ 
window.screen = {width:1600,height:900,availWidth:1600,availHeight:900}; 
window.innerWidth=1600; window.innerHeight=900; window.outerWidth=1600; window.outerHeight=900; 
window.navigator = { 
plugins: {length: 2, 'Shockwave Flash': {name: 'Shockwave Flash', filename: '/usr/lib/flashplugin-nonfree/libflashplayer.so', description: 'Shockwave Flash 11.2 r202', version: '11.2.202.440'}}, 
mimeTypes: {length: 2, "application/x-shockwave-flash": {description: "Shockwave Flash", suffixes: "swf", type: "application/x-shockwave-flash", enabledPlugin: {name: 'Shockwave Flash', filename: '/usr/lib/flashplugin-nonfree/libflashplayer.so', description: 'Shockwave Flash 11.2 r202', version: '11.2.202.440'}}}, 
appCodeName: "Mozilla", 
appName: "Netscape", 
appVersion: "5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36", 
cookieEnabled: 1, 
languages: "en-US,en", 
language: "en", 
onLine: 1, 
doNotTrack: null, 
platform: "Linux x86_64", 
product: "Gecko", 
vendor: "Google Inc.", 
vendorSub: "", 
productSub: 20030107, 
userAgent: "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36", 
geolocation: {getCurrentPosition: function getCurrentPosition(){},watchPosition: function watchPosition(){},clearWatch: function clearWatch(){}}, 
javaEnabled: function javaEnabled(){return 0} };});}; 

casper.on('page.initialized', on_init); 

это просто простая реализация объекта navigator: plugins может выглядеть лучше, но обычно это не нужно.

+2

Thx Igor. Не знаю, почему моя функция не работала, но я тестировал ваше решение, и это сработало. Красиво выложено тоже. Я искал всюду ради этого, и я нашел что-нибудь такое же полное, как это. Является ли это полным списком или вы можете указать мне полный список свойств, которые можно установить? –

+2

[http://pastebin.com/kSndS8jX](http://pastebin.com/kSndS8jX) –

+2

приятно. огромное спасибо. –

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

  • Нет связанных вопросов^_^