Comment créer un bot de connexion automatique simple avec Python et Selenium
Automatisation est sans aucun doute l’une des compétences les plus convoitées qu’un programmeur puisse posséder. L’automatisation est généralement utilisée pour les tâches qui sont: répétitif, ennuyeux, fastidieux, ou autrement inefficace sans l'utilisation d'un script.
Avec automatisation web, vous pouvez facilement créer un bot pour effectuer différentes tâches sur le Web, par exemple pour surveiller les tarifs des hôtels concurrents sur Internet et déterminer le meilleur prix.
Personnellement, j'ai toujours trouvé se connecter à mon email assez répétitif et ennuyeux, alors par souci d'un exemple simple pour vous faire les gars a commencé avec l'automatisation Web, mettons en œuvre un script Python automatisé à se connecter en un seul clic vers un compte Gmail.
Installation et configuration
Dans ce tutoriel, nous allons utiliser le outils suivants:
- Langage de programmation Python
- Navigateur Google Chrome
- Boîte à outils d'automatisation du navigateur Selenium
- Pilote Web du pilote Chrome pour Chrome
Pour notre programme, nous utiliserons le langage de programmation Python, en particulier version 2.7.11. Il est essentiel que nous installions un assez nouvelle version de Python 2 parce qu'il vient avec PÉPIN, ce qui nous permettra d'installer des paquetages tiers et des frameworks nécessaires à l'automatisation de nos scripts.
Une fois installé, redémarrez votre ordinateur pour que les modifications prennent effet. Utilisez la commande pip installer sélénium
ajouter le Boîte à outils d'automatisation Web Selenium en Python. Le sélénium nous permettra de faire défiler par programme, copier du texte, remplir des formulaires et cliquer sur des boutons.
Enfin télécharger le Exécutable du pilote Selenium Chrome, Qui va ouvrez Google Chrome au besoin 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 à partir d’ici, extrayez le chromedriver.exe
exécutable 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 utiliserons le Cadre d'automatisation Web Selenium afin de se connecter par programme. Le premier ordre du jour est de importer chaque module nous aurons besoin de la bibliothèque Selenium Python que nous avons installée plus tôt avec PIP.
Ouvrons IDLE ou un autre éditeur de code, créer un nouveau fichier Python avec .py
extension, et importer les modules suivants:
à partir de selenium import webdriver à partir de selenium.webdriver.common.by import De à partir de selenium.webdriver.support.ui import WebDriverWait à partir de selenium.webdriver.support import expect_conditions en tant que CE
Ensuite, nous allons créer deux chaînes qui représentent 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 tout est configuré pour démarrer le processus de connexion, nous devons demander à une fenêtre de navigateur de ouvrez Google Chrome, et accédez à la page de connexion de Gmail.
Si vous ne l'avez pas déjà fait, assurez-vous que votre script Python est enregistré au même endroit que le chromedriver.exe
exécutable nous avons extrait plus tôt.
browser = webdriver.Chrome () browser.get (('https://accounts.google.com/ServiceLogin? "service = mail & continue = https: //mail.google" .com / mail / # identificateur'))
Trouver notre élément
Nous avons réussi à obtenir le navigateur pour ouvrir Gmail, mais nous devons maintenant trouver les champs de saisie sur la page Web, dans laquelle nous pouvons entrez notre nom d'utilisateur et mot de passe.
Nous pouvons le faire facilement en utilisant les outils de développement Chrome intégrés. Il suffit de cliquer avec le bouton droit sur les champs de saisie et de sélectionner le champ “Inspecter” menu.
Maintenant, c'est juste une question de en utilisant HTML identifiant
les attributs trouver les éléments par programmation.
Dans le code ci-dessous, nous sommes simplement rechercher le champ de saisie du nom d'utilisateur par identifiant
, et en le remplissant avec le texte souhaité. Alors nous sommes recherche du bouton Suivant qui passe avec une animation rapide avant de nous demander le mot de passe.
le send_keys ()
et Cliquez sur()
les commandes font exactement comme leur nom l'indique - send_keys ()
simule des touches dans l'élément souhaité, et Cliquez sur()
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 (usernameStr) nextButton = browser.find_element_by_id ('next') nextButton.click ()
nous pouvons faire la même chose pour le champ de saisie du mot de passe, ainsi que pour le bouton de connexion. Cependant, ces deux éléments apparaissent sur la page seulement après une transition animée.
Cela dit, nous avons besoin du programme pour attendez quelques secondes avant de reprendre sa recherche d'éléments. Pour la plupart, cette étape du code n'est pas différente de la précédente. Nous devons simplement demander au navigateur de attendre un maximum de 10 secondes avant de localiser l'entrée du mot de passe.
# attend la transition puis continue à remplir les éléments password = WebDriverWait (navigateur, 10) .until (EC.presence_of_element_located ((By.ID, 'Passwd'))) password.send_keys (passwordStr) signInButton = browser.find_element_by_id ('signIn' ) signInButton.click ()
Mots finaux
Tu viens de finir créer un bot qui visite une page Web, entre votre nom d'utilisateur et votre mot de passe et vous connecte avec succès, automatiser l'ensemble du processus à un simple clic. Je sais que c'était une simple démonstration, mais les possibilités sont infinies.
Sur la même note, Faites attention de comment vous utilisez cette compétence. Certaines personnes utilisent des robots et des scripts automatisés pour participer à des tirages au sort des milliers de fois, en ignorant complètement les termes et conditions. D'autres les utilisent à des fins plus malveillantes.
Veillez simplement à utiliser l’automatisation à bon escient et avec prudence, car c’est vraiment un compétences nécessaires dans la communauté de programmation!
Note de l'éditeur: Ceci est un message écrit pour Hongkiat.com par Malik Brahimi. Malik est un développeur situé dans la région métropolitaine de Boston et adore la cuisine, le football et la programmation (langue préférée, Python)..
- Source de téléchargement