1. ⭐⭐⭐ Grosse PROMO en cours sur ma plateforme SEO My Ranking Metrics
    Rejeter la notice

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:
    525
    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 808
    J'aime reçus:
    242
    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:
    525
    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
Search Console Premier référencement et problèmes Débuter en référencement Lundi à 00:37
Test d'optimisation mobile : Problèmes de chargement de la page Débuter en référencement Dimanche à 13:29
Problème sur une source Referral Googleads.g.doubleclick.net Google Analytics 7 Novembre 2019
Problème suite à redirection 301 URL Rewriting et .htaccess 4 Novembre 2019
Probléme avec un flux rss Demandes d'avis et de conseils sur vos sites 4 Novembre 2019
Probleme Mise en Cache URL Rewriting et .htaccess 31 Octobre 2019
petit problème booléen... Le café de WebRankInfo 22 Octobre 2019
Problème de référencement de mon site Problèmes de référencement spécifiques à vos sites 17 Octobre 2019
Search Console Problème Fil d'Ariane : Vous devez indiquer name ou item.name Crawl et indexation Google, sitemaps 15 Octobre 2019
Problèmes d'indexation et robots.txt Crawl et indexation Google, sitemaps 14 Octobre 2019
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice