Kaip sukurti paprastą „Auto-Login Bot“ su „Python“ ir Selenu
Automatika neabejotinai yra vienas iš geidžiamiausių įgūdžių, kuriuos gali turėti programuotojas. Automatika paprastai naudojama užduotims, kurios yra pasikartojantis, nuobodus, daug laiko reikalaujantis, arba kitaip neefektyvus nenaudojant scenarijaus.
Su žiniatinklio automatizavimas, galite lengvai sukurkite botą, kad atliktumėte skirtingas užduotis žiniatinklyje, pavyzdžiui, stebėti konkuruojančius viešbučių tarifus internete ir nustatyti geriausią kainą.
Asmeniškai aš visada rasiu prisijungti prie mano el gana pasikartojantis ir nuobodus, todėl paprasto pavyzdžio labui, kad galėtume jus užsidirbti prasidėjo interneto automatizavimas, leiskite įgyvendinti automatinis „Python“ scenarijus į prisijunkite vienu paspaudimu į „Gmail“ paskyrą.
Diegimas ir sąranka
Šioje instrukcijoje mes naudojame šiuos įrankius:
- Python programavimo kalba
- „Google Chrome“ naršyklė
- Seleno naršyklės automatikos įrankių rinkinys
- „Chrome“ „Chrome“ tvarkyklės žiniatinklio tvarkyklė
Mūsų programai naudosime Python programavimo kalbą 2.7.11 versija. Labai svarbu įdiegti a gana nauja Python 2 versija nes jis ateina PIP, tai leis mums įdiegti trečiųjų šalių paketus ir sistemas, kurias mums reikės automatizuoti.
Įdiegus, iš naujo paleiskite kompiuterį kad pakeitimai įsigaliotų. Naudokite komandą pip įdiegti seleną
pridėti Seleno interneto automatikos įrankių rinkinys į Python. Selenas leis mums programiškai slinkti, kopijuoti tekstą, užpildyti formas ir paspausti mygtukus.
Galiausiai atsisiųskite „Selenium Chrome“ tvarkyklė, kuri bus atidarykite „Google Chrome“ kaip reikia mūsų automatizuotoms užduotims atlikti. „Chrome“ tvarkyklė yra tiesiog būdas atidaryti „Google Chrome“ (kuris turėtų būti jau įdiegtas) prieigą prie standartinių naršyklės operacijų programiškai.
Tiesiog atsisiųskite naujausią ZIP failą iš čia chromedriver.exe
vykdomąjį ir įdėkite vykdomąjį failą į bet kurį katalogą. Būtinai atkreipkite dėmesį į tai, kur yra vykdoma, nes mums reikės, kai pradėsime.
Programos pradžia
Kaip minėta, mes naudosime Seleno interneto automatizavimo sistema siekiant prisijungti programiškai. Pirmoji verslo tvarka yra importuoti kiekvieną modulį mums reikės iš Seleno Python bibliotekos, kurią įdiegėme su PIP.
Atidarykite IDLE arba kitą kodų redaktorių, sukurti naują „Python“ failą su .py
plėtinys, ir importuoti šiuos modulius:
iš seleno importavimo žiniatinklio tvarkyklės iš selenium.webdriver.common.by importuoti iš selenium.webdriver.support.ui importuoti WebDriverWait nuo selenium.webdriver.support importuoti tikėtinas sąlygas kaip EB
Toliau mes sukurti dvi eilutes kurie atstovauja mūsų vartotojo vardas ir slaptažodis el. pašto abonementui. Atkreipkite dėmesį į kapitalizaciją, ypač savo slaptažodžių eilutėje.
usernameStr = 'putYourUsernameHere' passwordStr = 'putYourPasswordHere'
Dabar, kai turime viską, kad būtų galima pradėti prisijungimo procesą, turime iš tikrųjų nurodyti naršyklės langą atidarykite „Google Chrome“, ir eikite į „Gmail“ prisijungimo puslapį.
Jei to dar nepadarėte, įsitikinkite, kad jūsų „Python“ scenarijus yra išsaugota toje pačioje vietoje kaip ir chromedriver.exe
vykdoma mes gavome anksčiau.
browser = webdriver.Chrome () browser.get ((https://accounts.google.com/ServiceLogin?) paslauga = paštas ir tęsti = https: //mail.google ".com / mail / # identifikatorius"))
Ieškoti mūsų elemento
Sėkmingai gavome naršyklę, kad atidarytume „Gmail“, bet dabar mums reikia rasti įvesties laukus tinklalapyje, į kurį galime įveskite mūsų naudotojo vardą ir slaptažodį.
Tai galima padaryti lengvai naudodami integruotus „Chrome“ kūrimo įrankius. Turime tik dešiniuoju pelės klavišu spustelėti įvesties laukus ir pasirinkti “Patikrinkite” Meniu.
Dabar tai tik klausimas naudojant HTML ID
atributai rasti elementus programiškai.
Toliau pateiktame kode mes tiesiog ieškoti naudotojo įvesties lauko ID
, ir jį užpildyti su norimu tekstu. Tada mes esame ieškoti kito mygtuko kuri pereina su greita animacija, prieš paskatindama mus slaptažodžiu.
The send_keys ()
ir spustelėkite ()
komandos veikia tiksliai, kaip rodo jų vardai - send_keys ()
imituoja klavišų paspaudimus į norimą elementą ir spustelėkite ()
imituoja pelės paspaudimą.
# užpildykite naudotojo vardą ir paspauskite kitą mygtuką naudotojo vardas = browser.find_element_by_id ('Email') username.send_keys (usernameStr) nextButton = browser.find_element_by_id ('next') nextButton.click ()
Mes galime daryti tą patį slaptažodžio įvedimo laukui, taip pat mygtukui „Prisijungti“. Tačiau šie du elementai rodomi puslapyje tik po to animacinis perėjimas.
Be to, mums reikia programos palaukite kelias sekundes prieš pradedant ieškoti elementų. Daugeliu atvejų šis kodo etapas nesiskiria nuo ankstesnio. Mes tiesiog turime nurodyti naršyklę palaukite 10 sekundžių prieš nustatant slaptažodį.
# Palaukite, kol pereisite, ir toliau užpildykite elementus password = WebDriverWait (naršyklė, 10). ) signInButton.click ()
Galutiniai žodžiai
Jūs ką tik baigėte sukurti botą kuris apsilanko tinklalapyje, įveda jūsų naudotojo vardą ir slaptažodį ir sėkmingai prisiregistruoja, automatizuoti visą procesą vienu paspaudimu. Žinau, kad tai buvo paprasta demonstracija, bet galimybės yra neribotos.
Toje pačioje pastaboje, Būk atsargus kaip naudojate šį įgūdį. Kai kurie žmonės naudoja robotus ir automatinius scenarijus, kad įvestų loterijas tūkstančius kartų, visiškai nepaisydami sąlygų. Kiti naudoja juos daugiau kenksmingų ketinimų.
Būtinai naudokite automatizavimą tikslingai ir atsargiai, nes tai iš tikrųjų yra labai reikalingas įgūdis programavimo bendruomenėje!
Redaktoriaus pastaba: Tai yra pranešimas, parašytas „Hongkiat.com“ Malik Brahimi. „Malik“ yra „Boston“ rajone esantis kūrėjas ir mėgsta maistą, futbolą ir programavimą (mėgstamiausia kalba „Python“).
- Atsisiųsti šaltinį