IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

NodeJS Discussion :

Redirection dans phantomJs


Sujet :

NodeJS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 112
    Par défaut Redirection dans phantomJs
    Bonjour
    j'ai mon code qui fonctionne et qui me permet de me connecter a un autre site et faire une de la page(http://site1.php')
    après la connexion au site
    il me met un message d'erreur
    Comment gérer les direction sur plusieurs sites (login, passwword:sur site1.php-->rechercher une valeur sur site2.php
    Cordialement




    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TypeError: undefined is not an object (evaluating 'document.getElementsByName('msLeakNumber')[0].value="essais"')
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    var webPage = require('webpage');
    var page = webPage.create();
     
    page.open('http://sitesenquestion.php/', function(status) {
      console.log('Status: ' + status);
      if(status =="success"){
              page.evaluate(function(){
     
    			document.getElementsByName('USER')[0].value="login"; // (http://site1.php)
    			document.getElementsByName('PASSWORD')[0].value="password";  // (http://site1.php)
    			document.getElementsByName('loginValid')[0].click();  // (http://site1.php)
                            document.getElementsByName('msLeakNumber')[0].value="essais"; //*********(http://site2.php)**************** 
              });
            console.log('ok');
            window.setTimeout(function(){
                    page.render('googletest.png');
                    phantom.exit();
            }, 
            5000);
      }else{
        console.log('mort');
      }
      //phantom.exit();
    });

  2. #2
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2016
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2016
    Messages : 225
    Par défaut
    étant donné que msLeakNumber est sur la page résultante de la redirection, il t'indique ne pas existé car tu éxecutes le code sur la page initiale.

    Il va falloir que utilises onResoureReceived pour identifier la page que pjs executes actuellement, et conditionné ton scrapping à une valeur que tu déclareras de manière appropriée.

    https://gist.github.com/amenzhinsky/5245915

    Pour la doc,

    http://phantomjs.org/api/webpage/han...-received.html

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 112
    Par défaut
    Merci mh-cbon de te pencher sur mon soucis
    j'ai tenté de rajouté une fonction dans mon fichier mais sa ce bloque (fonction // entre //
    cordialement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    var webPage = require('webpage');
    var page = webPage.create();
     
    page.open('http://sitesenquestion.php/', function(status) {
      console.log('Status: ' + status);
      if(status =="success"){
              page.evaluate(function(){
     
    			document.getElementsByName('USER')[0].value="login"; // (http://site1.php)
    			document.getElementsByName('PASSWORD')[0].value="password";  // (http://site1.php)
    			document.getElementsByName('loginValid')[0].click();  // (http://site1.php)
                            document.getElementsByName('msLeakNumber')[0].value="essais"; //*********(http://site2.php)**************** 
              });
            console.log('ok');
            window.setTimeout(function(){
                    page.render('googletest.png');
    ////////////////////////////////////////////////////
                    page.onResourceReceived = function(response) {
    				console.log('Response (#' + response.id + ', stage "' + response.stage + '"): ' + JSON.stringify(response));
    		                 };
    //////////////////////////////
                    phantom.exit();
            }, 
            5000);
      }else{
        console.log('mort');
      }
      //phantom.exit();
    });

  4. #4
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2016
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2016
    Messages : 225
    Par défaut
    tu n'as pas besoin de le mettre dans le page.evaluate

    Ca devrait surement ressembler plutot à cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    var webPage = require('webpage');
    var page = webPage.create();
     
    var currentPage = 'some';
    ////////////////////////////////////////////////////
    page.onResourceReceived = function(response) {
      console.log('Response (#' + response.id + ', stage "' + response.stage + '"): ' + JSON.stringify(response));
      if (somestff){
        currentPage = 'some other'
      }
    };
    //////////////////////////////
     
    page.open('http://sitesenquestion.php/', function(status) {
      console.log('Status: ' + status);
      if(status =="success"){
        if (page==='some') {
          page.evaluate(function(){
            document.getElementsByName('USER')[0].value="login"; // (http://site1.php)
            document.getElementsByName('PASSWORD')[0].value="password";  // (http://site1.php)
            document.getElementsByName('loginValid')[0].click();  // (http://site1.php)
          });
          console.log('ok');
          window.setTimeout(function(){
            page.render('googletest.png');
            phantom.exit();
          }, 
          5000);
        } else if (...) {
          page.evaluate(function(){
            document.getElementsByName('msLeakNumber')[0].value="essais"; //*********(http://site2.php)**************** 
          });
          console.log('ok');
          window.setTimeout(function(){
            page.render('googletest_other.png');
            phantom.exit();
          }, 
          5000);
        }
      }else{
        console.log('mort');
      }
      //phantom.exit();
    });

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 112
    Par défaut
    Merci pour ta réponse
    Je peux pas essayer maintenant
    J'essaye des que je rentre
    A+

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 112
    Par défaut
    ReBonjour je viens d'essayé ton code est sa bloque
    de plus je t'ai posé quelque question s'est quoi SOMESTFF
    la page se figes à "success" et sa reste la, sa ne passe pas à la suite

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    var webPage = require('webpage');
    var page = webPage.create();
     
    var currentPage = 'some';
    /////////////////j'ai bien les informations de la pages d'origines sitesenquestion.php///////////////////
     
    page.onResourceReceived = function(response) {
      console.log('Response (#' + response.id + ', stage "' + response.stage + '"): ' + JSON.stringify(response));
      if (somestff){ ////de plus je ne comprend pas la commande SOMESTFF
        currentPage = 'some other'
      }
    };
    //////////////////////////////
     
    page.open('http://sitesenquestion.php/', function(status) {
      console.log('Status: ' + status);
      if(status =="success"){
      //////j'ai dans la fenetre successful mais sa ne passe pas à la suite////
        if (page==='some') {
          page.evaluate(function(){
            document.getElementsByName('USER')[0].value="login"; // (http://site1.php)
            document.getElementsByName('PASSWORD')[0].value="password";  // (http://site1.php)
            document.getElementsByName('loginValid')[0].click();  // (http://site1.php)
          });
          console.log('ok');
          window.setTimeout(function(){
            page.render('googletest.png');
            phantom.exit();
          }, 
          5000);
        } else if ((page==='some other') {
          page.evaluate(function(){
            document.getElementsByName('msLeakNumber')[0].value="essais"; //*********(http://site2.php)**************** 
          });
          console.log('ok');
          window.setTimeout(function(){
            page.render('googletest_other.png');
            phantom.exit();
          }, 
          5000);
        }
      }else{
        console.log('mort');
      }
      //phantom.exit();
    });

Discussions similaires

  1. Redirection dans un fichier
    Par Spyco dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 14/03/2006, 12h53
  2. probleme de redirection dans les frames
    Par paricard dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 12/02/2006, 00h57
  3. Probleme de redirection dans le form
    Par leloup84 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 07/02/2006, 14h09
  4. Redirection dans un fichier
    Par radium dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 09/08/2005, 14h45
  5. Trouver les redirections dans des traces
    Par severine dans le forum Développement
    Réponses: 3
    Dernier message: 21/04/2004, 18h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo