Voilà, je début en code (1 mois) donc soyez indulgents svp
Voilà, j’ai tenté l’écriture d’un code avec CaserJs pour ajouter des comptes twitter à partir d’une liste d’url de comptes.
Je m’explique: j’ai une base de données excel de plusieurs milliers de comptes twitter qui pourraient potentiellement être intéressés par mon produit. Dans cette base de donnée j’ai le lien vers ce compte.
J’ai donc codé un script avec Casper JS qui fonctionne en 4 étapes:
- Ouverture de l’Url (mon script tournera en boucle dans un tableau d’url. Pour cet exemple, j’ai simplement mis un seul url)
- Affichage du pop-up pour me connecter (identifiant + mdp) --> En effet dans casperJs, la page s’ouvre de manière similaire qu’en navigation privée et il faut cliquer sur un lien « se connecter » pour afficher le formulaire de connexion.
- Remplissage du formulaire et click sur le bouton de connexion
- Click sur le bouton follow
On passe à l’url suivant et on recommence. (je n’ai pas encore écris la partie Loop dans ce code car je veux déjà que ca fonctionne avec un seul url)
Tout fonctionne bien jusqu’au moment de cliquer. Le script tourne normalement, aucune erreur ne remonte (je prends la peine de faire des captures d’écrans à chaque étapes pour m’assurer que les pages se charges correctement).
Le problème c’est que le script ne clique pas sur le bouton « follow ». Lorsque je me connecte à mon compte twitter, aucun compte n’a été ajouté.
Voici mon script:
var url_connexion = 'https://twitter.com/googledrive';
var credentials = {email:"[email protected]",password:"xxxxxx"};
var identifiant = {input_email:'input[name="session[username_or_email]"]',input_password:'input[name="session[password]"]',valider_connexion:'input.submit.btn.primary-btn.js-submit'};
var button_follow = "button.user-actions-follow-button.js-follow-btn.follow-button.btn";
var button_connexion_home = "a.Button.StreamsLogin.js-login";
var Afficher_connexion = "a#signin-link.dropdown-toggle.js-dropdown-toggle.dropdown-signin";
casper.start(url_connexion, function () {
casper.thenClick(Afficher_connexion, function () {
this.sendKeys(identifiant.input_email,credentials.email);
this.sendKeys(identifiant.input_password,credentials.password);
casper.thenClick(identifiant.valider_connexion,function(){
casper.wait(6000,function(){
});
});
});
casper.then( function() {
casper.waitForSelector('button.user-actions-follow-button.js-follow-btn.follow-button.btn', function() {
this.click('button.user-actions-follow-button.js-follow-btn.follow-button.btn'); // C'est ici que ca ne fonctionne pas, le script ne clique pas sur le Bouton "Follow"
});
});
});
casper.run();
J’ai mis une fonction waitForSelector à la fin pour être sur que le script puisse cliquer sur le sélecteur unique du bouton « follow », mais rien n’y fait, ca ne marche pas. c’est comme si on ne pouvait pas cliquer sur le bouton Follow de twitter dans l’environnement CasperJs. Quelqu’un a t-il déjà eu affaire à ce problème ?
N’hésitez pas si vous avez des questions.
Si vous avez la réponse à mon problème je vous serai éternellement reconnaissant !
Merci.