Définir la taille de l'écran dans PhantomJS / CasperJS

Je suis automatisé l'accès à un site Web pour collecter des données. Malheureusement, cette page détecte la taille de l'écran et ne me donne pas la page souhaitée si l'écran est trop petit. Lors de l'exécution du script à partir d'un contexte non interactif (application Web IIS), l'objet Screen semble renvoyer une taille de 1024×768 pixels. Même si j'ai configuré la taille de la fenêtre à 1300×1000 pixels qui affecte les captures d'écran mais pas le JavaScript de la page Web.

Comment puis-je dire à PhantomJS ou à CasperJS (j'utilise ce dernier, mais cela utilise le premier) pour renvoyer différentes valeurs pour l'objet Screen dans le JavaScript de la page?

Edit: C'est CasperJS, pas PhantomJS, donc ce n'est pas un double.

Selon la documentation officielle, vous pouvez le faire en utilisant viewportSize option.

var casper = require("casper").create({ // other options here viewportSize: { width: 1920, height: 1080 } }); 

Ce sera une solution plus légère que la taille de la fenêtre principale après chaque chargement de la page.

Voici comment cela fonctionne avec CasperJS:

 // at the start of the script file var casper = require("casper").create({ // other options here onPageInitialized: function (page) { page.evaluate(function () { window.screen = { width: 1920, height: 1080 }; }); } }); // script goes on here 

Vous pouvez également définir cela en définissant des fonctions:

 casper.viewport(1300, 1000).then(function () { test.assertUrlMatches(/testing\.html$/); });