Ako vytvoriť jednoduché automatické prihlásenie Bot s Pythonom a selenom
automatizácia je nepochybne jednou z najžiadanejších zručností, ktoré programátor môže mať. Automatizácia sa zvyčajne používa na úlohy, ktoré sú opakujúce sa, nudné, časovo náročné, alebo inak neefektívne bez použitia skriptu.
s webová automatizácia, môžete ľahko vytvorte topánok na vykonávanie rôznych úloh na internete, napríklad sledovať konkurenčné ceny hotelov na internete a určiť najlepšiu cenu.
Osobne som vždy našiel prihlásiť sa do môjho e-mailu pomerne opakujúce a nudné, takže kvôli jednoduchému príkladu, aby ste vás dostali začalo s webovou automatizáciou, poďme implementovať automatizovaný Python skript na prihláste sa jediným kliknutím na účet služby Gmail.
Inštalácia a nastavenie
V tomto tutoriáli budeme používať nasledujúcich nástrojov:
- Python programovací jazyk
- Prehliadač Google Chrome
- Selénový nástroj na automatizáciu prehliadača prehliadača
- Ovládač webového prehliadača pre prehliadač Chrome
Pre náš program budeme používať programovací jazyk Pythonu verzia 2.7.11. Je dôležité, aby sme nainštalovali a pomerne novú verziu Pythonu 2 pretože prichádza s PIP, čo nám umožní inštalovať balíky a rámce tretích strán, ktoré budeme musieť automatizovať naše skripty.
Po nainštalovaní, reštartujte počítač aby sa zmeny prejavili. Použite príkaz pip inštalovať selén
pridať Selenium nástroj pre automatizáciu webových aplikácií na Python. Selenium nám umožňuje programovo posúvať, kopírovať text, vyplniť formuláre a tlačidlá pre kliknutie.
Nakoniec si stiahnite Selenium Chrome ovládač spustiteľný, ktorý bude otvorte prehliadač Google Chrome ako je potrebné na vykonávanie našich automatizovaných úloh. Ovládač Chrome je jednoducho spôsob otvorenia prehliadača Google Chrome (ktorý by mal byť už nainštalovaný) prístup k štandardným operáciám prehliadača programovo.
Jednoducho stiahnite najnovší súbor ZIP tu, extrahujte chromedriver.exe
spustiteľný súbor a umiestnite spustiteľný súbor do ľubovoľného adresára. Nezabudnite uviesť, kde je váš spustiteľný súbor, pretože budeme ju potrebovať hneď, ako začneme.
Spustenie programu
Ako sme uviedli vyššie, budeme používať Rámec automatizácie webu pre selenium aby prihláste sa programovo. Prvá objednávka je importovať každý modul budeme potrebovať z knižnice Selenium Python, ktorú sme nainštalovali ealier s PIP.
Otvorme IDLE alebo iný kódový editor, vytvorte nový súbor Python s .py
rozšírenie a importujte nasledujúce moduly:
od selenium import webdriver od selenium.webdriver.common.by importom Od importu selenium.webdriver.support.ui WebDriverWait zo sekcie selenium.webdriver.support očakávané podmienky importu ako EC
Ďalej budeme vytvorte dva reťazce ktoré reprezentujú naše používateľské meno a heslo pre e-mailový účet. Dbajte na veľké písmená, hlavne v reťazci s heslom.
usernameStr = 'putYourUsernameHere' hesloStr = 'putYourPasswordHere'
Teraz, keď máme všetko nastavené na spustenie prihlasovacieho procesu, musíme skutočne poučiť okno prehliadača otvorte prehliadač Google Chrome, a prejdite na prihlasovaciu stránku služby Gmail.
Ak ste to ešte neurobili, uistite sa, že je váš skript Python uložené na rovnakom mieste ako chromedriver.exe
spustiteľný sme sa vyčerpali skôr.
browser = webdriver.Chrome () browser.get (('https://accounts.google.com/ServiceLogin?' service = mail & continue = https: //mail.google ".com / mail / # identifikátor"))
Hľadanie nášho prvku
Úspešne sme otvorili prehliadač na otvorenie služby Gmail, ale teraz musíme vyhľadajte vstupné polia na webovej stránke, do ktorej môžeme zadajte naše používateľské meno a heslo.
Môžeme to jednoducho urobiť pomocou vstavaných nástrojov pre vývojárov Chrome. Stačí kliknúť pravým tlačidlom myši na vstupné polia a vybrať “preskúmať” Ponuka.
Teraz je to len otázka pomocou HTML id
atribúty nájsť programové prvky.
V nižšie uvedenom kóde sme jednoducho hľadanie vstupného poľa používateľského mena o id
, a naplnenie s požadovaným textom. Potom sme hľadaním tlačidla Ďalej ktorý prechádza rýchlou animáciou predtým, než nás vyzve na zadanie hesla.
send_keys ()
a kliknite na tlačidlo ()
príkazy robia presne podľa ich názvov - send_keys ()
simuluje stlačenie klávesov v požadovanom prvku a kliknite na tlačidlo ()
simuluje kliknutie myši.
# vyplňte používateľské meno a stlačte nasledujúce tlačidlo username = browser.find_element_by_id ('Email') username.send_keys (usernameStr) nextButton = browser.find_element_by_id ('next') nextButton.click
Môžeme robte to isté pre vstupné pole pre heslo, ako aj pre tlačidlo Prihlásiť sa. Tieto dve položky sa však zobrazia na stránke iba po animovaný prechod.
To znamená, že program potrebujeme počkajte niekoľko sekúnd pred obnovením hľadania prvkov. Z väčšej časti sa táto fáza kódu neodlišuje od predchádzajúcej. Jednoducho musíme inštruovať prehliadač počkajte maximálne 10 sekúnd pred nájdením hesla.
# čakať na prechod a potom naďalej vyplňovať položky heslo = WebDriverWait (prehliadač, 10). do (EC.presence_of_element_located ((By.ID, 'Passwd'))) password.send_keys (passwordStr) signInButton = browser.find_element_by_id (' ) signInButton.click ()
Konečné slová
Práve ste skončili vytváranie topánok ktorý navštívi webovú stránku, zadá vaše používateľské meno a heslo a úspešne vás prihlási, automatizáciu celého procesu na jedno kliknutie. Viem, že to bola jednoduchá demonštrácia, ale možnosti sú nekonečné.
Na tej istej poznámke, buď opatrný ako používate túto zručnosť. Niektorí ľudia používajú roboty a automatizované skripty na zadávanie stávok tisíckrát, úplne nerešpektujúc zmluvné podmienky. Iní používajú ich na ďalšie zákerné úmysly.
Určite používajte automatizáciu účelne a starostlivo, pretože je to skutočne veľmi potrebná zručnosť v programovej komunite!
Poznámka redaktora: Toto je príspevok napísaný pre Hongkiat.com od Malik Brahimi. Malik je developer umiestnený v oblasti Bostonu a miluje jedlo, futbal a programovanie (obľúbený jazyk Python).
- Stiahnuť zdroj