Główna » Kodowanie » Jak zbudować prostego bota Auto-Login z Pythonem i Selenem

    Jak zbudować prostego bota Auto-Login z Pythonem i Selenem

    Automatyzacja jest niewątpliwie jedną z najbardziej pożądanych umiejętności, jakie programista może posiadać. Automatyzacja jest zwykle używana do zadań, które są powtarzalne, nudne, czasochłonne, lub w przeciwnym wypadku nieskuteczny bez użycia skryptu.

    Z automatyzacja sieci, możesz łatwo stwórz bota do wykonywania różnych zadań w Internecie, na przykład do monitorowania konkurencyjnych stawek hotelowych w Internecie i określenia najlepszej ceny.

    Osobiście zawsze się znajdowałem zalogować się do mojego e-maila dość powtarzalne i nudne, więc ze względu na prosty przykład, aby was chłopaki zaczęło się od automatyzacji sieci, zaimplementujmy zautomatyzowany skrypt Pythona do zaloguj się jednym kliknięciem na konto Gmail.

    Instalacja i konfiguracja

    W tym samouczku użyjemy następujące narzędzia:

    1. Język programowania Python
    2. Przeglądarka Google Chrome
    3. Zestaw narzędzi do automatyzacji przeglądarki Selenium
    4. Sterownik internetowy Chrome Driver dla Chrome

    W naszym programie będziemy używać języka programowania Python wersja 2.7.11. Bardzo ważne jest, aby zainstalować dość nowa wersja Pythona 2 ponieważ przychodzi PYPEĆ, co pozwoli nam zainstalować pakiety i frameworki innych firm, które będziemy musieli zautomatyzować.

    Po zainstalowaniu, zrestartuj swój komputer aby zmiany zaczęły obowiązywać. Użyj polecenia pip zainstaluj selen dodać Zestaw narzędzi do automatyzacji stron internetowych Selenium do Pythona. Selenium pozwoli nam programowo przewijać, kopiować tekst, wypełniać formularze i klikać przyciski.

    Wreszcie pobierz Plik wykonywalny Selenium Chrome Driver, które będą otwórz Google Chrome w razie potrzeby do wykonywania naszych zautomatyzowanych zadań. Sterownik Chrome to po prostu sposób na otwarcie przeglądarki Google Chrome (która powinna być już zainstalowana) programowo uzyskać dostęp do standardowych operacji przeglądarki.

    Po prostu pobierz najnowszy plik ZIP stąd, rozpakuj chromedriver.exe plik wykonywalny i umieść plik wykonywalny w dowolnym katalogu. Pamiętaj, aby zanotować, gdzie znajduje się plik wykonywalny, ponieważ będziemy go potrzebować, gdy zaczniemy.

    Uruchomienie programu

    Jak już wspomniano, będziemy korzystać z Struktura automatyzacji sieci Selenium w celu zaloguj się programowo. Pierwszą kolejnością jest importuj każdy moduł będziemy potrzebować biblioteki Selenium Python, którą zainstalowaliśmy wcześniej za pomocą PIP.

    Otwórzmy IDLE lub inny edytor kodu, utwórz nowy plik Pythona z .py rozszerzenie i zaimportuj następujące moduły:

     z selenum import webdriver z selenium.webdriver.common.by importuj z od selenium.webdriver.support.ui import WebDriverWait od selenium.webdriver.support import oczekiwane_warunki jako EC 

    Następnie będziemy utwórz dwa ciągi które reprezentują nasze Nazwa użytkownika i hasło na konto e-mail. Zwróć uwagę na wielkie litery, zwłaszcza w ciągu hasła.

     usernameStr = 'putYourUsernameHere' passwordStr = 'putYourPasswordHere' 

    Teraz, gdy mamy wszystko skonfigurowane, aby rozpocząć proces logowania, musimy poinstruować okno przeglądarki otwórz Google Chrome, i przejdź do strony logowania Gmaila.

    Jeśli jeszcze tego nie zrobiłeś, upewnij się, że masz skrypt Pythona zapisane w tej samej lokalizacji co chromedriver.exe plik wykonywalny wyodrębniliśmy wcześniej.

     browser = webdriver.Chrome () browser.get ((„https://accounts.google.com/ServiceLogin?” service = mail & continue = https: //mail.google „.com / mail / # identifier”)) 
    Znajdowanie naszego elementu

    Udało nam się otworzyć przeglądarkę Gmaila, ale teraz musimy znajdź pola wejściowe na stronie internetowej, do której możemy wprowadź naszą nazwę użytkownika i hasło.

    Możemy to łatwo zrobić za pomocą wbudowanych narzędzi programistycznych Chrome. Musimy tylko kliknąć prawym przyciskiem myszy pola wejściowe i wybrać “Sprawdzać” menu.

    Teraz to tylko kwestia za pomocą HTML ID atrybuty znaleźć programowo elementy.

    W poniższym kodzie jesteśmy po prostu wyszukiwanie pola wprowadzania nazwy użytkownika przez ID, i wypełniając to z żądanym tekstem. Więc jesteśmy wyszukiwanie przycisku Dalej który przechodzi z szybką animacją przed zapytaniem o hasło.

    The send_keys () i Kliknij() polecenia robią dokładnie tak, jak sugerują ich nazwy - send_keys () symuluje naciśnięcia klawiszy w pożądanym elemencie i Kliknij() symuluje kliknięcie myszą.

     # wpisz nazwę użytkownika i naciśnij następny przycisk nazwa użytkownika = browser.find_element_by_id ('Email') username.send_keys (usernameStr) nextButton = browser.find_element_by_id ('next') nextButton.click () 

    Możemy Zrób to samo dla pola wprowadzania hasła, a także dla przycisku Zaloguj. Jednak te dwa elementy pojawiają się na stronie tylko po animowane przejście.

    To powiedziawszy, potrzebujemy programu poczekaj kilka sekund przed wznowieniem wyszukiwania elementów. W większości ten etap kodu nie różni się od poprzedniego. Po prostu musimy poinstruować przeglądarkę, aby poczekaj maksymalnie 10 sekund przed zlokalizowaniem wpisu hasła.

     # czekaj na przejście, a następnie kontynuuj wypełnianie pozycji password = WebDriverWait (przeglądarka, 10) .do (EC.presence_of_element_located ((By.ID, 'Passwd'))) password.send_keys (passwordStr) signInButton = browser.find_element_by_id ('signIn' ) signInButton.click () 
    Ostatnie słowa

    Właśnie skończyłeś tworzenie bota który odwiedza stronę internetową, wprowadza twoją nazwę użytkownika i hasło i pomyślnie zalogował się, automatyzacja całego procesu za jednym kliknięciem. Wiem, że to była prosta demonstracja, ale możliwości są nieograniczone.

    Na tej samej notatce, bądź ostrożny o tym, jak używasz tej umiejętności. Niektórzy używają botów i zautomatyzowanych skryptów do wprowadzania loterii tysiące razy, całkowicie ignorując warunki. Inni używają ich do bardziej złośliwych intencji.

    Upewnij się, że używasz automatyzacji celowo i ostrożnie, ponieważ jest to naprawdę bardzo potrzebna umiejętność w społeczności programistycznej!

    Nota redaktora: To jest post napisany dla Hongkiat.com przez Malik Brahimi. Malik jest deweloperem zlokalizowanym w rejonie Greater Boston, kocha jedzenie, piłkę nożną i programowanie (ulubiony język Python).

    • Pobierz źródło