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:
    531
    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:
    9 099
    J'aime reçus:
    303
    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:
    531
    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
Divers problèmes de Google Crawl et indexation Google, sitemaps Hier à 13:35
Probleme redirection d'un sous domaine deja redirigé URL Rewriting et .htaccess Jeudi à 20:23
Problème d’analyse de mon site web sur bing webmaster Référencement Bing Jeudi à 13:06
Problème calcul d'offset UTC par getTransitions ou DateTime. Développement d'un site Web ou d'une appli mobile 21 Novembre 2020
Probleme indexation site web Crawl et indexation Google, sitemaps 16 Novembre 2020
Problème d'indexation Google (pages non indexées) Crawl et indexation Google, sitemaps 7 Novembre 2020
Search Console Problème d'indexation sur la search console Problèmes de référencement spécifiques à vos sites 3 Novembre 2020
Analytics et GTM : problème TAG Google Analytics 2 Novembre 2020
Problème page destination groupe d'annonces Google Ads AdWords 26 Octobre 2020
Problème de trafic incorrect (plus de 3000€) / RPM à 35€ AdSense 23 Octobre 2020