Kako zgraditi preprost Auto-Login Bot s Python in Selen
Avtomatizacija je nedvomno ena od najbolj zaželenih veščin, ki jih lahko ima programer. Avtomatizacija se običajno uporablja za naloge, ki so ponavljajoče se, dolgočasno, zamudno, ali drugače neučinkovit brez uporabe scenarija.
S spletna avtomatizacija, lahko enostavno ustvarite bot za opravljanje različnih nalog na spletu, na primer za spremljanje konkurenčnih hotelskih cen po internetu in določanje najboljše cene.
Osebno sem vedno našel prijavite se v moj e-poštni naslov precej ponavljajoče se in dolgočasno, zato zaradi preprostega primera začel s spletno avtomatizacijo, izvedimo samodejni skript Python do prijavite se z enim samim klikom na račun Gmail.
Namestitev in namestitev
V tem vodiču bomo uporabili orodja:
- Python programski jezik
- Brskalnik Google Chrome
- Selenum orodje za avtomatizacijo brskalnika
- Gonilnik za gonilnik Chrome za Chrome
Za naš program bomo uporabljali programski jezik Python različica 2.7.11. Pomembno je, da namestimo a precej nova različica Pythona 2 ker prihaja PIP, ki nam bo omogočila namestitev paketov in okvirov tretjih strank, ki jih bomo morali avtomatizirati.
Ko je nameščen, znova zaženite računalnik spremembe začnejo veljati. Uporabite ukaz pip namestite selen
za dodajanje Selensko spletno orodje za avtomatizacijo za Python. Selenium nam bo omogočil programsko pomikanje, kopiranje besedila, izpolnjevanje obrazcev in klikanje gumbov.
Končno prenesite Selenium Chrome Driver izvršljiv, ki bo odprite Google Chrome potrebne za izvajanje naših avtomatiziranih nalog. Gonilnik za Chrome je preprosto način za odpiranje brskalnika Google Chrome (ki bi moral biti že nameščen) programski dostop do standardnih operacij brskalnika.
Preprosto prenesite najnovejšo datoteko ZIP od tukaj, izvlecite chromedriver.exe
izvedljivo in postavite izvršljivo datoteko v kateri koli imenik. Bodite pozorni na to, kje je vaša izvršljiva datoteka, ker potrebovali jo bomo, ko bomo začeli.
Zagon programa
Kot smo že omenili, bomo uporabili Selenski spletni avtomatizacijski okvir Da bi prijavite se programsko. Prvi vrstni red poslovanja je uvozite vsak modul potrebovali bomo iz knjižnice Selenium Python, ki smo jo namestili s PIP.
Odpri IDLE ali drug urejevalnik kod, ustvarite novo datoteko Python z .py
podaljšanje, in uvozite naslednje module:
iz selenium uvoz webdriver iz selenium.webdriver.common.by uvoz Z selenium.webdriver.support.ui uvoz WebDriverWait iz selenium.webdriver.support uvoz pričakovani_razumi kot EC
Nato bomo ustvarite dva niza ki predstavljajo naše uporabniško ime in geslo za e-poštni račun. Bodite pozorni na velike začetnice, zlasti v nizu gesel.
usernameStr = 'putYourUsernameHere' passwordStr = 'putYourPasswordHere'
Zdaj, ko imamo vse, kar je potrebno za začetek postopka prijave, moramo dejansko naročiti okno brskalnika odprite Google Chrome, in pojdite na Gmailovo stran za prijavo.
Če tega še niste storili, se prepričajte, da je vaš Python skript shranjene na isti lokaciji kot chromedriver.exe
izvršljiv prej smo izločili.
browser = webdriver.Chrome () browser.get (('https://accounts.google.com/ServiceLogin? "service = mail & continue = https: //mail.google" .com / mail / # identifier "))
Iskanje našega elementa
Z brskalnikom smo uspešno odprli Gmail, zdaj pa moramo poiščite vnosna polja na spletni strani, v katero lahko vnesite naše uporabniško ime in geslo.
To lahko enostavno storimo z vgrajenimi orodji za razvijalce Chrome. Samo v desno kliknite na vnosna polja in izberite “Preglejte” meni.
Zdaj je samo stvar z uporabo HTML-ja id
lastnosti elemente programsko poiskati.
V spodnji kodi smo preprosto iskanje polja za vnos uporabniškega imena za id
, in polnjenje z želenim besedilom. Potem smo iskanje gumba Naprej ki prehaja s hitrim animiranjem, preden nas pozove k geslu.
The send_keys ()
in kliknite ()
ukazi delajo točno tako, kot predlagajo njihova imena - send_keys ()
simulira pritiske tipk v želenem elementu, in kliknite ()
simulira klik miške.
# izpolnite uporabniško ime in pritisnite tipko username = browser.find_element_by_id ('E-pošta') username.send_keys (usernameStr) nextButton = browser.find_element_by_id ('next') nextButton.click ()
Mi lahko storite isto za polje za vnos gesla in za gumb za prijavo. Vendar pa se ta dva elementa pojavita na strani samo po animirani prehod.
To pomeni, da potrebujemo program počakajte nekaj sekund pred nadaljevanjem iskanja elementov. Ta stopnja kode se večinoma ne razlikuje od prejšnje. Preprosto moramo naročiti brskalniku počakajte največ 10 sekund preden najdete geslo.
# počakajte na prehod, nato nadaljujte z dodajanjem elementov password = WebDriverWait (brskalnik, 10). dokler (EC.presence_of_element_located ((By.ID, 'Passwd'))) password.send_keys (passwordStr) signInButton = browser.find_element_by_id ('signIn') ) signInButton.click ()
Končne besede
Pravkar si končal ustvarjanje bot ki obišče spletno stran, vnese vaše uporabniško ime in geslo ter se uspešno prijavite, avtomatizacijo celotnega procesa z enim samim klikom. Vem, da je bila to preprosta demonstracija, vendar so možnosti neskončne.
Na isti zapiski, Bodi previden kako uporabljate to spretnost. Nekateri ljudje uporabljajo robote in samodejne skripte za vstop v nagradne igre tisočkrat, popolnoma ne upoštevajo določil in pogojev. Drugi jih uporabljajo za bolj zlonamerne namene.
Samo se prepričajte, da uporabite avtomatizacijo namensko in skrbno, ker je res potrebno spretnost v programski skupnosti!
Opomba urednika: To je objava, napisana za Hongkiat.com Malik Brahimi. Malik je razvijalec, ki se nahaja na območju Greater Boston, ljubi hrano, nogomet in programiranje (najljubši jezik Python).
- Prenesi vir