J'ai commencé avec phantom.js (j'adore). J'essaie de faire en sorte que le navigateur headless aille sur mon panneau d'administration php, se connecte avec un nom d'utilisateur et un mot de passe, et à partir de la page vers laquelle il redirige après la connexion, je veux obtenir un texte à partir d'une balise div.
Jusqu'à présent, j'ai réussi à remplir les champs, à créer un événement de clic, et même à accéder à la partie DOM de la balise div et à obtenir le texte intérieur (inner.Text).
La seule partie manquante pour moi est ce qu'il faut faire lorsque phantom.js clique sur un bouton (le bouton de connexion dans ce cas) qui me connectera et changera le contenu de la page. Je ne trouve pas comment gérer l'événement après .click() ;.
Voici le code que j'ai créé jusqu'à présent (c'est d'ailleurs une bonne façon de commencer...)
var page = new WebPage();
page.open("the url comes here",
function(status){
if(status != "success"){console.log('fail loading the page');}
page.evaluate(function(){
var arr = document.getElementsByName("formname");
arr[0].elements["username"].value="username here";
arr[0].elements["password"].value="password here";
arr[0].elements["submit"].click();
return;
}
phantom.exit()
});
Le code que je veux exécuter sur la page qui suit est le suivant
console.log(window.frames[1].document.getElementById('status').innerHTML)
La seule question qui reste est donc de savoir comment gérer la redirection et lancer le script sur l'autre page.
Merci,