hideout-lastation.com
Paradis Pour Les Concepteurs Et Les Développeurs


Comment construire un Bot Simple Connexion automatique avec Python et Sélénium

L'automatisation est sans aucun doute l'une des compétences les plus convoitées qu'un programmeur peut posséder. L'automatisation est généralement utilisée pour les tâches qui sont répétitives, ennuyeuses, chronophages ou inefficaces sans l'utilisation d'un script.

Avec l'automatisation Web, vous pouvez facilement créer un bot pour effectuer différentes tâches sur le Web, par exemple pour surveiller les tarifs concurrentiels des hôtels sur Internet et déterminer le meilleur prix.

Personnellement, j'ai toujours trouvé la journalisation dans mon email assez répétitive et ennuyeuse, donc pour un exemple simple pour vous aider à démarrer avec l'automatisation web, implémentons un script Python automatisé pour vous connecter en un seul clic à un compte Gmail.

Installation et configuration

Dans ce tutoriel, nous allons utiliser les outils suivants :

  1. Langage de programmation Python
  2. Navigateur Google Chrome
  3. Trousse d'outils d'automatisation du navigateur Selenium
  4. Pilote Web Chrome Driver pour Chrome

Pour notre programme, nous utiliserons le langage de programmation Python, en particulier la version 2.7.11 . Il est essentiel d'installer une version assez récente de Python 2 car elle est fournie avec PIP, ce qui nous permettra d'installer des paquets et des frameworks tiers dont nous aurons besoin pour automatiser nos scripts.

Une fois installé, redémarrez votre ordinateur pour que les modifications prennent effet. Utilisez la commande pip install selenium pour ajouter le toolkit Selenium web automation à Python. Selenium nous permettra de faire défiler par programmation, de copier du texte, de remplir des formulaires et de cliquer sur des boutons.

Enfin, téléchargez l' exécutable Selenium Chrome Driver, qui ouvrira Google Chrome si nécessaire pour effectuer nos tâches automatisées. Le pilote Chrome est simplement un moyen d'ouvrir Google Chrome (qui devrait déjà être installé) pour accéder aux opérations standard du navigateur par programmation .

Téléchargez simplement le fichier ZIP le plus récent d'ici, extrayez l'exécutable chromedriver.exe et placez l'exécutable dans n'importe quel répertoire. Assurez-vous de noter où se trouve votre exécutable, car nous en aurons besoin une fois que nous aurons commencé .

Démarrer le programme

Comme mentionné ci-dessus, nous allons utiliser le framework d'automatisation Web Selenium afin de nous connecter par programmation . Le premier point de l'ordre du jour est d' importer tous les modules dont nous aurons besoin de la bibliothèque Selenium Python que nous avons installée avec PIP.

Ouvrons IDLE ou un autre éditeur de code, créons un nouveau fichier Python avec l'extension .py et importons les modules suivants :

 à partir de selenium import webdriver à partir de selenium.webdriver.common.by import By à partir de selenium.webdriver.support.ui importer WebDriverWait à partir de selenium.webdriver.support importer expected_conditions comme EC 

Ensuite, nous allons créer deux chaînes représentant notre nom d'utilisateur et mot de passe pour le compte de messagerie. Faites attention à la capitalisation, en particulier dans votre chaîne de mot de passe.

 usernameStr = 'putYourUsernameHere' passwordStr = 'putYourPasswordHere' 

Maintenant que nous avons tout configuré pour commencer le processus de connexion, nous devons configurer une fenêtre de navigateur pour ouvrir Google Chrome et accéder à la page de connexion de Gmail .

Si vous ne l'avez pas déjà fait, assurez-vous que votre script Python est enregistré dans le même emplacement que l'exécutable chromedriver.exe nous avons extrait plus tôt.

 browser = webdriver.Chrome () browser.get (('https://accounts.google.com/ServiceLogin?' 'service = mail & continue = https: //mail.google' '.com / mail / # identifiant')) 
Trouver notre élément

Nous avons réussi à obtenir le navigateur pour ouvrir Gmail, mais maintenant nous devons trouver les champs de saisie sur la page Web, dans lequel nous pouvons entrer notre nom d'utilisateur et mot de passe .

Nous pouvons le faire facilement en utilisant les outils de développement intégrés de Chrome. Nous avons seulement besoin de faire un clic droit sur les champs de saisie et de sélectionner le menu "Inspecter".

Maintenant, il suffit d' utiliser les attributs d' id HTML pour trouver les éléments par programmation.

Dans le code ci-dessous, nous recherchons simplement le champ de saisie du nom d'utilisateur par id, et le remplissons avec le texte désiré. Ensuite, nous recherchons le bouton Suivant qui transite avec une animation rapide avant de nous demander le mot de passe.

Les commandes send_keys() et click() font exactement ce que leur nom suggère: send_keys() simule des pressions de touches dans l'élément désiré, et click() simule un clic de souris .

 # remplissez le nom d'utilisateur et cliquez sur le bouton suivant nom d'utilisateur = browser.find_element_by_id ('Email') username.send_keys (nom d'utilisateurStr) nextButton = browser.find_element_by_id ('suivant') nextButton.click () 

Nous pouvons faire la même chose pour le champ de saisie du mot de passe, ainsi que pour le bouton Connexion. Cependant, ces deux éléments n'apparaissent sur la page qu'après une transition animée .

Cela dit, nous avons besoin que le programme attende quelques secondes avant de reprendre sa recherche d'éléments. Pour l'essentiel, cette étape du code n'est pas différente de la précédente. Nous devons simplement demander au navigateur d' attendre un maximum de 10 secondes avant de localiser l'entrée du mot de passe.

 # attendre la transition puis continuer à remplir les éléments password = WebDriverWait (browser, 10) .until (EC.presence_of_element_located ((By.ID, 'Passwd'))) password.send_keys (mot de passe) signInButton = browser.find_element_by_id ('signIn' ) signInButton.click () 
Mots finaux

Vous venez de créer un robot qui visite une page Web, saisit votre nom d'utilisateur et votre mot de passe et vous connecte avec succès, automatisant l'ensemble du processus en un seul clic. Je sais que c'était une démonstration simple, mais les possibilités sont infinies.

Sur cette même note, faites attention à la façon dont vous utilisez cette compétence. Certaines personnes utilisent des robots et des scripts automatisés pour participer à des sweepstakes des milliers de fois, sans tenir compte des termes et conditions. D'autres les utilisent pour des intentions plus malveillantes.

Assurez-vous d'utiliser l'automatisation de manière ciblée et prudente, car c'est vraiment une compétence indispensable dans la communauté de programmation!

Note de l'éditeur: Ceci est un billet écrit pour Hongkiat.com par Malik Brahimi . Malik est un développeur situé dans la région du Grand Boston, et aime la nourriture, le football et la programmation (langue préférée Python).

  • Source de téléchargement

Connectez-vous à plusieurs comptes sur le même site avec cette extension Chrome

Connectez-vous à plusieurs comptes sur le même site avec cette extension Chrome

La gestion de plusieurs comptes d'un seul service de réseau social peut s'avérer fastidieuse, car le besoin de se déconnecter et de se connecter en permanence à un service n'est pas vraiment amusant. Heureusement, il existe une extension Chrome appelée SessionBox qui facilite grandement la gestion des comptes .Comm

(Conseils techniques et de conception)

Construire des projets de développement plus rapidement avec cette galerie gratuite Boilerplate

Construire des projets de développement plus rapidement avec cette galerie gratuite Boilerplate

Vous avez accès à des centaines de bibliothèques de codes gratuits à portée de main . Il n'y a pas besoin de construire des projets à partir de zéro quand vous pouvez vous appuyer sur la communauté open-source pour obtenir de l'aide.Mais, comment cherchez-vous parmi des centaines de bibliothèques pour trouver celle qui répond le mieux à vos besoins ? C'est

(Conseils techniques et de conception)