Kuidas ehitada lihtne automaatne sisselogimise Bot koos Pythoni ja seleeniga
Automaatika on kahtlemata üks kõige meeldivamaid oskusi, mida programmeerija saab omada. Automaatikat kasutatakse tavaliselt ülesannete puhul, mis on korduv, igav, aeganõudev, või muidu ebaefektiivne ilma skripti kasutamata.
Koos veebi automatiseerimine, saate kergesti luua erinevate ülesannete täitmiseks bot veebis, näiteks jälgida internetis konkureerivaid hotellikursse ja määrata parim hind.
Isiklikult olen alati leidnud sisselogimine minu e-posti aadressile üsna korduv ja igav, nii et lihtsa näite huvides sind kutid alustati veebi automatiseerimisega, rakendame automatiseeritud Pythoni skript kuni logige ühe klõpsuga sisse Gmaili kontole.
Paigaldamine ja seadistamine
Selles juhendis kasutame seda järgmisi tööriistu:
- Pythoni programmeerimiskeel
- Google Chrome'i brauser
- Seleeni brauseri automaatika tööriistakomplekt
- Chrome'i draiveri veebi draiver
Meie programmi puhul kasutame spetsiaalselt Pythoni programmeerimiskeelt versioon 2.7.11. On oluline, et me installime a Python 2 suhteliselt uus versioon sest see on kaasas PIP, mis võimaldab meil paigaldada kolmanda osapoole pakette ja raamistikke, mida me peame oma skripte automatiseerima.
Pärast installimist, taaskäivitage arvuti muudatuste jõustumiseks. Kasutage käsku pip paigaldada seleen
lisamiseks Seleeni veebi automatiseerimise tööriistakomplekt Pythonile. Seleen võimaldab meil programmeerida, teksti kopeerida, täita vorme ja klõpsa nuppe.
Lõpuks laadige alla Selenium Chrome'i draiveri käivitatav, mis seda teeb avage Google Chrome automatiseeritud ülesannete täitmiseks. Chrome'i draiver on lihtsalt viis Google Chrome'i avamiseks (mis peaks olema juba installitud) juurdepääsu standardse brauseri toimingutele programmiliselt.
Lihtsalt laadige alla viimane ZIP-fail, ekstrakti chromedriver.exe
käivitatav ja asetage käivitatav fail mis tahes kataloogi. Kindlasti märkige, kus teie käivitatav on, sest me vajame seda, kui alustame.
Programmi käivitamine
Nagu eespool mainitud, kasutame seda Seleeni veebi automatiseerimise raamistik selleks, et logige programmiliselt sisse. Esimene töökorraldus on importige iga moodulit me vajame Selenium Pythoni raamatukogust, mille me installeerisime PIP-iga.
Avage IDLE või mõni muu koodiredaktor, luua uus Pythoni fail koos .py
laiendus ja importida järgmisi mooduleid:
alates seleenist import webdriver alates selenium.webdriver.common.by import Selenium.webdriver.support.ui importimisel WebDriverWait alates selenium.webdriver.support import oodatud eeldused kui EÜ
Järgmisena me luua kaks stringi mis esindavad meie kasutajanime ja parooli e-posti konto jaoks. Pöörake tähelepanu kapitaliseerimisele, eriti oma paroolijoonele.
kasutajanimiStr = 'putYourUsernameHere' passwordStr = 'putYourPasswordHere'
Nüüd, kui meil on kõik sisselogimisprotsessi alustamiseks loodud seadistused, peame tegelikult brauseri akna juhendama avage Google Chrome, ja navigeerige Gmaili sisselogimislehele.
Kui te pole seda juba teinud, veenduge, et teie Pythoni skript on salvestatud samas kohas chromedriver.exe
käivitatav me ekstraheerime varem.
browser = webdriver.Chrome () browser.get (('https://accounts.google.com/ServiceLogin?' teenus = kiri ja jätkake = https: //mail.google ".com / mail / # identifikaator"))
Meie elemendi leidmine
Oleme edukalt avanud Gmaili avamiseks brauseri, kuid nüüd peame seda tegema leidke sisendväljad veebilehel, kuhu saame sisestage oma kasutajanimi ja parool.
Me saame seda lihtsalt sisseehitatud Chrome'i arendustööriistade abil teha. Peame sisestama väljad vaid hiire parema nupuga ja valige “Kontrollige” menüüst.
Nüüd on see vaid küsimus kasutades HTML-i id
atribuudid elementide programmeerimiseks.
Allolevas koodis oleme lihtsalt kasutajanime sisestusvälja otsimine id
, ja selle täitmine soovitud tekstiga. Siis me oleme Järgmise nupu otsimine mis muudab kiire animatsiooniga enne parooli küsimist.
The send_keys ()
ja klõpsa ()
käsud teevad täpselt nii, nagu nende nimed näitavad - send_keys ()
simuleerib klahvivajutusi soovitud elemendis ja klõpsa ()
simuleerib hiirekliki.
# täitke kasutajanimi ja vajuta järgmisele nupule kasutajanimi = browser.find_element_by_id ('Email') kasutajanimi.send_keys (kasutajanimiStr) nextButton = browser.find_element_by_id ('next') nextButton.click ()
Me saame teha sama parooli sisestamise väljale, samuti nupule Logi sisse. Need kaks üksust ilmuvad aga lehel ainult pärast seda animeeritud üleminek.
See tähendab, et me vajame programmi oota paar sekundit enne elementide otsingu jätkamist. Enamasti ei erine see koodiaste eelmisest. Lihtsalt peame brauseri juhendama oodake maksimaalselt 10 sekundit enne parooli sisestamist.
# oodake üleminekut ja jätkake seejärel kirjete parooli täitmist = WebDriverWait (brauser, 10). ) signInButton.click ()
Lõplikud sõnad
Sa oled just lõpetanud boti loomine külastab veebilehte, sisestab teie kasutajanime ja parooli ning kirjutab teile edukalt sisse, kogu protsessi automatiseerimine ühe klõpsuga. Ma tean, et see oli lihtne demonstratsioon, kuid võimalused on lõputud.
Samal märkusel, ole ettevaatlik kuidas seda oskust kasutada. Mõned inimesed kasutavad loteriid tuhandeid kordi, automatiseerimata skripte, jättes täielikult arvesse tingimusi ja tingimusi. Teised kasutavad neid rohkem pahatahtlike kavatsuste jaoks.
Kasutage kindlasti automatiseerimist sihipäraselt ja hoolikalt, sest see on tõesti a väga vajalik oskus programmitöö kogukonnas!
Toimetaja märkus: See on postitus, mille kirjutas Hongkiat.com Malik Brahimi. Malik on Greater Bostoni piirkonnas asuv arendaja, kes armastab toitu, jalgpalli ja programmeerimist (lemmikkeel Python).
- Allalaadimise allikas