Početna » šifriranje » Kako izgraditi jednostavan auto-prijava Bot s Python i Selen

    Kako izgraditi jednostavan auto-prijava Bot s Python i Selen

    Automatizacija nesumnjivo je jedna od najpoželjnijih vještina koju programer može posjedovati. Automatizacija se obično koristi za zadatke koji su ponavljajuća, dosadna, dugotrajna, ili drugačije neefikasan bez uporabe skripte.

    S web automatizacija, lako možete stvoriti bot za obavljanje različitih zadataka na webu, na primjer za praćenje konkurentnih hotelskih cijena na internetu i određivanje najbolje cijene.

    Osobno, uvijek sam pronašao prijavite se na moju e-poštu prilično ponavljajući i dosadni, pa zbog jednostavnog primjera da vas nađemo započeo s automatizacijom weba, implementirajmo automatizirani Python skript do prijavite se jednim klikom na Gmail račun.

    Instalacija i postavljanje

    U ovom tutorialu koristit ćemo sljedeće alate:

    1. Python programski jezik
    2. Google Chrome preglednik
    3. Selenum alat za automatizaciju preglednika
    4. Web upravljački program za Chrome Chrome

    Za naš program, posebno ćemo koristiti Python programski jezik verzija 2.7.11. Ključno je da instaliramo prilično nova verzija Pythona 2 jer dolazi s njim PIP, što će nam omogućiti instaliranje paketa i okvira trećih strana koje ćemo morati automatizirati naše skripte.

    Jednom instaliran, ponovno pokrenite računalo da promjene stupaju na snagu. Koristite naredbu instalirati selen za dodavanje Selenum alat za automatizaciju weba u Python. Selen će nam omogućiti programsko pomicanje, kopiranje teksta, ispunjavanje obrazaca i klik na gumbe.

    Konačno preuzmite Selenski Chrome upravljački program za izvršavanje, koji će otvorite Google Chrome po potrebi za obavljanje naših automatiziranih zadataka. Upravljački program Chrome samo je način za otvaranje preglednika Google Chrome (koji bi već trebao biti instaliran) programski pristup standardnim operacijama preglednika.

    Jednostavno preuzmite najnoviju ZIP datoteku odavde, izvadite chromedriver.exe izvršnu i smjestite izvršnu datoteku u bilo koji direktorij. Svakako zabilježite gdje je izvršna datoteka, jer trebat će nam kada počnemo.

    Pokretanje programa

    Kao što je gore spomenuto, koristit ćemo Selenski okvir za automatizaciju weba da bi prijavite se programski. Prvi je posao uvoziti svaki modul trebat će nam biblioteka Selenum Python koju smo instalirali s PIP-om.

    Otvorimo IDLE ili drugi uređivač koda, stvorite novu Python datoteku s .py i proširenje uvozite sljedeće module:

     iz selenium uvoz webdriver iz selenium.webdriver.common.by uvoz By iz selenium.webdriver.support.ui uvoz WebDriverWait iz selenium.webdriver.support uvoz očekuje_ugovor kao EC 

    Zatim ćemo stvorite dva niza koji predstavljaju naše korisničko ime i zaporku za račun e-pošte. Obratite pozornost na velika slova, posebno u nizu zaporki.

     usernameStr = 'putYourUsernameHere' passwordStr = 'putYourPasswordHere' 

    Sada kada smo sve postavili kako bismo pokrenuli proces prijave, moramo zapravo uputiti prozor preglednika na otvorite Google Chrome, i idite na stranicu za prijavu na Gmail.

    Ako to već niste učinili, provjerite je li Python skripta spremljene na istom mjestu kao i chromedriver.exe izvršna smo izdvojili ranije.

     browser = webdriver.Chrome () browser.get (('https://accounts.google.com/ServiceLogin? "service = mail & continue = https: //mail.google" .com / mail / # identifier ")) 
    Pronalaženje našeg elementa

    Uspješno smo pokrenuli preglednik kako bi otvorio Gmail, ali sada moramo pronađite polja za unos na web stranici u koju možemo unesite korisničko ime i zaporku.

    To možemo jednostavno učiniti pomoću ugrađenih alata za razvojne programere Chrome. Trebamo samo kliknuti desnom tipkom miša na polja za unos i odabrati “Pregledati” izbornik.

    Sada je samo stvar pomoću HTML-a iskaznica atributi pronaći elemente programski.

    U donjem kodu smo jednostavno pretraživanje polja za unos korisničkog imena iskaznica, i punjenje sa željenim tekstom. Onda smo traženje gumba Dalje koji prijeđe s brzom animacijom prije traženja lozinke.

    send_keys () i klik() naredbe rade točno onako kako njihova imena sugeriraju - send_keys () simulira pritiske tipki u željenom elementu, i klik() simulira klik miša.

     # popunite korisničko ime i kliknite sljedeći gumb username = browser.find_element_by_id ('E-pošta') username.send_keys (usernameStr) nextButton = browser.find_element_by_id ('next') nextButton.click () 

    Možemo učinite isto za polje za unos zaporke, kao i za gumb Prijava. Međutim, te se dvije stavke pojavljuju na stranici samo nakon animirani prijelaz.

    To znači da nam treba program pričekajte nekoliko sekundi prije ponovnog traženja elemenata. U većini slučajeva, ova faza koda se ne razlikuje od prethodne. Jednostavno moramo uputiti preglednik pričekajte najviše 10 sekundi prije lociranja unosa zaporke.

     # pričekajte prijelaz pa nastavite s popunjavanjem stavki password = WebDriverWait (preglednik, 10). do (EC.presence_of_element_located ((By.ID, 'Passwd'))) password.send_keys (passwordStr) signInButton = browser.find_element_by_id ('signIn' ) signInButton.click () 
    Završne riječi

    Upravo ste završili stvaranje bot koji posjećuje web-stranicu, unosi vaše korisničko ime i zaporku te vas uspješno prijavljuje, automatizirati cijeli proces jednim klikom. Znam da je to bila jednostavna demonstracija, ali mogućnosti su beskrajne.

    Na toj istoj noti, budi oprezan kako koristite ovu vještinu. Neki ljudi koriste botove i automatizirane skripte za tisuće puta za ulazak u nagradne igre, potpuno zanemarujući uvjete i odredbe. Drugi ih koriste za više zlonamjernih namjera.

    Samo budite sigurni da koristite automatizaciju namjerno i pažljivo, jer to je stvarno potrebnu vještinu u programskoj zajednici!

    Napomena urednika: Ovo je post pisan za Hongkiat.com od strane Malik Brahimi. Malik je programer koji se nalazi u širem području Bostona i voli hranu, nogomet i programiranje (omiljeni jezik Python).

    • Preuzimanje izvora