Problème avec PhantomJS

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par sff, 16 Février 2017.

  1. sff
    sff WRInaute impliqué
    Inscrit:
    2 Février 2005
    Messages:
    526
    J'aime reçus:
    0
    Bonjour,

    j'ai un problème avec PhantomJS qui me bloque completement mon projet.

    Mon but : pouvoir faire une capture d'écran avec PhantomJS en passant par un proxy:

    En commande :
    Code:
    root@vps-21226:/var/www# phantomjs/bin/phantomjs --proxy=158.69.70.238:8080 phantomjs/examples/rasterize.js http://monsite.ws image.png
    TypeError: undefined is not an object (evaluating 'g.find("#ez-register-genderSel").get(0).tagName')
    
      http://monsite.ws/js/js_register.js:5 in updateForm
      http://monsite.ws/js/js_register.js:5
      http://monsite.ws/js/js_register.js:1 in l
      http://monsite.ws/js/js_register.js:1 in fireWith
      http://monsite.ws/js/js_register.js:1 in ready
      http://monsite.ws/js/js_register.js:1 in va
    Ceci fonctionne parfaitement, et la capture d'écran est éxecuté avec le proxy : 158.69.70.238:8080

    Par contre si j'utilise cette fois une page php avec le code suivant pour faire la meme chose, la ligne de commande "--proxy=158.69.70.238:8080" ne fonctionne pas et la capture est executé sans le proxy.

    Je ne sais absolument pas quoi faire .

    La page php :

    Code:
    <?php
    
      $exec = 'phantomjs/bin/phantomjs --proxy=158.69.70.238:8080 --debug=true phantomjs/examples/rasterize.js http://monsite.ws image.png'; 
    
    ?> 
    Page resterize.js :

    Code:
    "use strict";
    var page = require('webpage').create(),
        system = require('system'),
        address, output, size;
    
    	page.settings.userAgent = 'Opera/9.80 (Android 2.2.2; Linux; Opera Tablet/ADR-1111101157; U; en) Presto/2.9.201 Version/11.50';
    
       
    	var settings = {
      headers: {
       "Referer": "http://lycos.fr"
      }
      
      
    };	
    	
    if (system.args.length < 3 || system.args.length > 5) {
        console.log('Usage: rasterize.js URL filename [paperwidth*paperheight|paperformat] [zoom]');
        console.log('  paper (pdf output) examples: "5in*7.5in", "10cm*20cm", "A4", "Letter"');
        console.log('  image (png/jpg output) examples: "1920px" entire page, window width 1920px');
        console.log('                                   "800px*600px" window, clipped to 800x600');
        phantom.exit(1);
    } else {
        address = system.args[1];
        output = system.args[2];
        page.viewportSize = { width: 600, height: 600 };
        if (system.args.length > 3 && system.args[2].substr(-4) === ".pdf") {
            size = system.args[3].split('*');
            page.paperSize = size.length === 2 ? { width: size[0], height: size[1], margin: '0px' }
                                               : { format: system.args[3], orientation: 'portrait', margin: '1cm' };
        } else if (system.args.length > 3 && system.args[3].substr(-2) === "px") {
            size = system.args[3].split('*');
            if (size.length === 2) {
                pageWidth = parseInt(size[0], 10);
                pageHeight = parseInt(size[1], 10);
                page.viewportSize = { width: pageWidth, height: pageHeight };
                page.clipRect = { top: 0, left: 0, width: pageWidth, height: pageHeight };
            } else {
                console.log("size:", system.args[3]);
                pageWidth = parseInt(system.args[3], 10);
                pageHeight = parseInt(pageWidth * 3/4, 10); // it's as good an assumption as any
                console.log ("pageHeight:",pageHeight);
                page.viewportSize = { width: pageWidth, height: pageHeight };
            }
        }
        if (system.args.length > 4) {
            page.zoomFactor = system.args[4];
        }
    
    	
    	
        page.open(address, settings, function (status) {
            if (status !== 'success') {
                console.log('Unable to load the address!');
                phantom.exit(1);
            } else {
                window.setTimeout(function () {
                    page.render(output);
                    phantom.exit();
                }, 200);
            }
        });
    }
    
    Je vous remercie d'avance pour votre aide
     
  2. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 910
    J'aime reçus:
    268
    Tu as regardé ce que tu trouves dans &$output et &$return_var de exec() ?
     
  3. sff
    sff WRInaute impliqué
    Inscrit:
    2 Février 2005
    Messages:
    526
    J'aime reçus:
    0
    Le problème est désormais résolu :) Vérifiez bien le nom des fichiers que vous appelez avec votre exec, mon erreur était la. Merci Spout
     
Chargement...
Similar Threads - Problème PhantomJS Forum Date
WordPress Problème affichage accent sur Wordpress Développement d'un site Web ou d'une appli mobile Lundi à 06:44
Problème MP Le café de WebRankInfo 9 Février 2020
WordPress Un problème de marge Développement d'un site Web ou d'une appli mobile 5 Février 2020
Problème avec les lignes <hr> Développement d'un site Web ou d'une appli mobile 21 Janvier 2020
Problème de déclencheur avec une balise GTM Google Analytics 13 Janvier 2020
probleme de redirection 301 certbot Administration d'un site Web 12 Janvier 2020
Problème avec Letsencrypt Administration d'un site Web 11 Janvier 2020
Problème avec les données démographiques dans Google Analytics Google Analytics 11 Janvier 2020
Astuce Problème avec Screaming Frog Problèmes de référencement spécifiques à vos sites 5 Janvier 2020
Problème rediretion https avec les www URL Rewriting et .htaccess 29 Décembre 2019
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice