Kā izveidot vienkāršu automātisko pieteikšanās Bot ar Python un Selēnu
Automatizācija neapšaubāmi ir viena no iecienītākajām prasmēm, kas programmētājam var būt. Automātika parasti tiek izmantota uzdevumiem, kas ir atkārtoti, garlaicīgi, laikietilpīgi, vai citādi neefektīva neizmantojot skriptu.
Ar tīmekļa automatizācija, jūs varat viegli izveidot botu, lai veiktu dažādus uzdevumus tīmeklī, piemēram, lai pārraudzītu konkurējošus viesnīcu tarifus internetā un noteiktu labāko cenu.
Personīgi es vienmēr esmu atradis pieteikšanās manā e-pastā diezgan atkārtojas un garlaicīgi, tāpēc, lai iegūtu vienkāršu piemēru, lai iegūtu jums puišus sākās ar tīmekļa automatizāciju, pieņemsim automatizēts Python skripts uz piesakieties ar vienu klikšķi uz Gmail kontu.
Instalēšana un iestatīšana
Šajā apmācībā mēs izmantosim šādus rīkus:
- Python programmēšanas valoda
- Google Chrome pārlūks
- Selēna pārlūka automatizācijas rīku komplekts
- Chrome draivera tīmekļa draiveris pārlūkam Chrome
Mūsu programmai mēs īpaši izmantosim Python programmēšanas valodu 2.7.11. versija. Ir svarīgi, lai mēs instalētu a diezgan jauna Python 2 versija jo tas nāk ar PIP, kas ļaus mums instalēt trešo pušu paketes un ietvarus, kas mums būs nepieciešami, lai automatizētu mūsu skriptus.
Pēc instalēšanas, restartējiet datoru lai izmaiņas stātos spēkā. Izmantojiet komandu pip uzstādīt selēnu
lai pievienotu Selēna tīmekļa automatizācijas rīku komplekts Python. Selēns ļaus mums programmēt, kopēt tekstu, aizpildīt veidlapas un noklikšķināt uz pogām.
Visbeidzot lejupielādējiet Selēna Chrome draivera izpildāmā programma, kas būs atvērt Google Chrome kā nepieciešams, lai veiktu mūsu automatizētos uzdevumus. Chrome draiveris ir vienkārši veids, kā atvērt Google Chrome (kas jau ir jāinstalē) piekļūt standarta pārlūka darbībām programmiski.
Vienkārši lejupielādējiet jaunāko ZIP failu no šejienes chromedriver.exe
izpildāmā, un ievietojiet izpildāmo failu jebkurā direktorijā. Noteikti ņemiet vērā, kur jūsu izpildāmā ir, jo mums tas būs vajadzīgs, kad mēs sākam darbu.
Programmas sākšana
Kā minēts iepriekš, mēs izmantosim Selēna tīmekļa automatizācijas sistēma lai piesakieties programmiski. Pirmais darba kārtība ir importēt katru moduli mums būs nepieciešama no Selenium Python bibliotēkas, kuru mēs uzstādījām ar PIP.
Atvērsim IDLE vai citu kodu redaktoru, izveidojiet jaunu Python failu ar .py
paplašinājums, un importēt šādus moduļus:
no selēna importēšanas webdriver no selenium.webdriver.common.by importēt no selenium.webdriver.support.ui importēt WebDriverWait no selenium.webdriver.support import gaidītie nosacījumi kā EC
Tālāk mēs izveidojiet divas virknes kas pārstāv mūsu lietotājvārds un parole e-pasta kontam. Pievērsiet uzmanību lielajiem burtiem, īpaši jūsu paroles virknē.
usernameStr = 'putYourUsernameHere' passwordStr = 'putYourPasswordHere'
Tagad, kad mums ir viss, kas nepieciešams, lai sāktu pieteikšanās procesu, mums faktiski ir jāadresē pārlūka logs atvērt Google Chrome, un dodieties uz Gmail pieteikšanās lapu.
Ja tas vēl nav izdarīts, pārliecinieties, ka jūsu Python skripts ir saglabāts tajā pašā vietā kā chromedriver.exe
izpildāmā mēs iegūstam agrāk.
browser = webdriver.Chrome () browser.get (('https://accounts.google.com/ServiceLogin?' pakalpojums = pasts un turpinājums = https: //mail.google ".com / mail / # identifikators"))
Meklējot savu elementu
Mēs esam veiksmīgi saņēmuši pārlūkprogrammu, lai atvērtu Gmail, bet tagad mums ir nepieciešams atrast ievades laukus lapā, kurā mēs varam ievadiet mūsu lietotājvārdu un paroli.
To var izdarīt viegli, izmantojot iebūvētos Chrome izstrādātāju rīkus. Mums tikai jānoklikšķina ar peles labo pogu uz ievades laukiem un izvēlieties “Pārbaudiet” izvēlnē.
Tagad tas ir tikai jautājums izmantojot HTML ID
atribūti lai atrastu elementus programmiski.
Tālāk redzamajā kodā mēs vienkārši esam meklējot lietotājvārda ievades lauku pēc ID
, un aizpildot ar vajadzīgo tekstu. Tad mēs esam meklējot nākamo pogu kas pāriet ar ātru animāciju, pirms tiek prasīts mums parole.
The send_keys ()
un klikšķis()
komandas dara tieši tā, kā norāda viņu vārdi - send_keys ()
simulē taustiņu nospiešanu vajadzīgajā elementā un klikšķis()
simulē peles klikšķi.
# aizpildiet lietotājvārdu un nospiediet nākamo pogu lietotājvārds = browser.find_element_by_id ('E-pasts') lietotājvārds.send_keys (usernameStr) nextButton = browser.find_element_by_id ('next') nextButton.click ()
Mēs varam darīt to pašu paroles ievades laukam, kā arī pogai Pierakstīties. Tomēr šie divi vienumi parādās lapā tikai pēc tam animēta pāreja.
Tomēr mums ir vajadzīga programma pagaidiet dažas sekundes pirms atsākt elementu meklēšanu. Parasti šis koda posms neatšķiras no iepriekšējās. Mums vienkārši ir jāinformē pārlūks jāgaida ne vairāk kā 10 sekundes pirms paroles ievadīšanas.
# gaidīt pāreju, tad turpiniet aizpildīt vienumus parole = WebDriverWait (pārlūks, 10) .unil (EC.presence_of_element_located ((By.ID, 'Passwd'))) password.send_keys (passwordStr) signInButton = browser.find_element_by_id ('signIn' ) signInButton.click ()
Galīgie vārdi
Jūs tikko esat pabeidzis izveidojot botu kas apmeklē tīmekļa lapu, ievada jūsu lietotājvārdu un paroli un veiksmīgi pierakstās, automatizējot visu procesu uz vienu klikšķi. Es zinu, ka tā bija vienkārša demonstrācija, bet iespējas ir bezgalīgas.
Šajā pašā piezīmē, esi uzmanīgs par to, kā jūs izmantojat šo prasmi. Daži cilvēki izmanto botus un automatizētus skriptus, lai ievadītu loterijas tūkstošiem reižu, pilnībā ignorējot noteikumus un nosacījumus. Citi tos izmanto vairāk ļaunprātīgiem nodomiem.
Vienkārši izmantojiet automatizāciju mērķtiecīgi un uzmanīgi, jo tas tiešām ir ļoti nepieciešama prasme programmēšanas sabiedrībā!
Redaktora piezīme: Šis ir ieraksts, kas rakstīts Honkiat.com Malik Brahimi. Malik ir attīstītājs, kas atrodas lielajā Bostonas rajonā, un mīl pārtiku, futbolu un programmēšanu (iecienītākā valoda Python).
- Lejupielādēt avotu