Selenium

Selēna tīmekļa automatizācija ar Python

Selēna tīmekļa automatizācija ar Python
Visi tīmekli izmanto vienā vai otrā brīdī, tāpēc tas ir milzīgs aicinājums izstrādātājiem nodrošināt, lai viņu tīmekļa lietojumprogrammas darbotos kā paredzēts. Citos gadījumos tīmekļa automatizācija varētu būt ļoti noderīga.

Lai jebkura komerciāla programmatūra būtu veiksmīga, tai ir jāveic pāris testi. Automatizācija varētu būt noderīga lietotāju testos, simulējot programmatūras izmantošanu tāpat kā lietotājs. Tas ir noderīgi arī iespiešanās testos, piemēram, mēģinot uzlauzt paroles, veikt SQL injekcijas utt.

Bez testēšanas tīmekļa automatizācija varētu būt ļoti ērta, lai nokasītu JavaScript smagās vietnes.

Selēns ir viens no efektīvākajiem tīmekļa automatizācijas rīkiem. Tas ir ļoti populārs arī dažādās valodās, pieejams tādās valodās kā Java, JavaScript.

Uzstādīšana

Selēnu var uzstādīt pitonā, izmantojot pip moduli, kā parādīts zemāk esošajā komandā:

pip instalēt selēnu

Tas instalētu bibliotēku un nepieciešamās atkarības, instalāciju var apstiprināt, importējot to interaktīvā sesijā.

$ pitons
Python 3.5.2 (noklusējums, 2017. gada 14. septembris, 22:51:06)
[GCC 5.4.0 20160609] uz Linux
Lai iegūtu papildinformāciju, ierakstiet “help”, “copyright”, “credits” vai “licence”.
>>> importa selēns

Tā kā kļūda nenotika, tas nozīmē, ka mūsu instalēšana bija veiksmīga. Tomēr ar to viss nebeidzas; tas ir tāpēc, ka selēns darbojas roku rokā ar tādām pārlūkprogrammām kā Chrome un Firefox, un tam ir nepieciešams draiveris no pārlūkprogrammas, lai varētu veikt savus pienākumus.

Mēs apskatīsim, kā instalēt draiverus. Mozilla Firefox varat lejupielādēt tā draiveri, kas pazīstams kā geckodriver no github lapas. Ja esat Chrome lietotājs, varat lejupielādēt tā draiveri, kas pazīstams kā hromedriver no oficiālās vietnes.

Pēc lejupielādes ceļam jāpievieno draiveris. Personīgi es vēlētos saglabāt šādu failu savā mapē / usr / local / bin direktoriju, un es ieteiktu jums rīkoties tāpat.

Ja vēlaties to darīt, zemāk esošajai komandai tas jāpārvieto no jūsu pašreizējā direktorija uz atkritumu tvertne direktorijā.

$ sudo mv geckodriver / usr / local / bin
$ sudo mv chromedriver / usr / local / bin

Pievienot geckodriver vai hromedriver lai nokļūtu no šī direktorija, izpildiet šādu komandu.

$ export PATH = $ PATH: / usr / local / bin / geckodriver
$ export PATH = $ PATH: / usr / local / bin / chromedriver

Pēc tam, kad ceļam esat pievienojis vēlamā pārlūka draiveri, varat pārbaudīt, vai viss darbojas labi, no interaktīvas sesijas izpildot tālāk norādītās darbības.

Firefox:

$ pitons
Python 3.5.2 (noklusējums, 2017. gada 14. septembris, 22:51:06)
[GCC 5.4.0 20160609] uz Linux
Lai iegūtu papildinformāciju, ierakstiet “help”, “copyright”, “credits” vai “licence”.
>>> no selēna importa tīmekļa draivera
>>> tīmekļa draiveris.Firefox ()

Pārlūkam Chrome:

$ pitons
Python 3.5.2 (noklusējums, 2017. gada 14. septembris, 22:51:06)
[GCC 5.4.0 20160609] uz Linux
Lai iegūtu papildinformāciju, ierakstiet “help”, “copyright”, “credits” vai “licence”.
>>> no selēna importa tīmekļa draivera
>>> draiveris = tīmekļa draiveris.Chrome ()

Pēc palaišanas, ja parādās pārlūkprogramma, viss darbojas labi. Tagad mēs varam turpināt darīt foršas lietas ar selēnu.

Lielākā daļa pārējā šī raksta koda tiks veikta interaktīvajā sesijā, tomēr jūs to varat ierakstīt failā tāpat kā parasto pitona skriptu.

Mēs arī strādāsim pie šoferis mainīgais no iepriekš minētā koda.

Veicot tīmekļa lapas

Kad vietne ir atvērta, varat apmeklēt jebkuru vietni, zvanot uz gūt metode ieslēgta šoferis. Pēc tam atvērtajā pārlūkprogrammā tiek ielādēta ievadītā adrese tāpat kā tad, ja to darāt pats.

Neaizmirstiet izmantot http: // vai https: //, pretējā gadījumā jums vajadzētu tikt galā ar nepatīkamām kļūdām.

>>> šoferis.get ("http: // google.com ")

Tas ielādētu Google mājas lapu.

Tiek iegūts pirmkods

Tagad, kad esam iemācījušies apmeklēt tīmekļa lapas, mēs varam nokasīt datus no apmeklētās tīmekļa lapas.

No šoferis objektu, mēs varam iegūt avota kodu, zvanot uz page_source atribūtu, pēc tam jūs varat darīt visu, ko vēlaties, izmantojot html, izmantojot bibliotēku BeautifulSoup.

>> vadītājs.page_source

Teksta lodziņu aizpildīšana

Ja, piemēram, mēs esam ielādējuši Google mājas lapu un vēlamies meklēšanas lodziņā ierakstīt kādu informāciju; to var viegli izdarīt.

Lai to izdarītu, mēs izmantojam inspektora elementu, lai pārbaudītu pirmkodu un skatītu meklēšanas lodziņa informāciju par tagu. Lai to izdarītu, vienkārši noklikšķiniet ar peles labo pogu meklēšanas lodziņā un atlasiet pārbaudīt elementu.

Manā mašīnā es saņēmu sekojošo:

value = "" aria-label = "Meklēt" aria-haspopup = "false" role = "combobox" aria-autocomplete = "list"
style = "apmale: vidēja nav; polsterējums: 0px; piemale: 0px; augstums: automātisks; platums: 100%;
fons: caurspīdīgs
url ("dati: attēls / gif; base64, R0lGODlhAQABAID / AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEA
Ow% 3D% 3D ") atkārtojiet ritināšanu 0% 0%; pozīcija: absolūts; z-indekss: 6; pa kreisi: 0 pikseļi; kontūra:
vide nav; "dir =" ltr "spellcheck =" false "type =" text ">

Izmantojot selēnu, mēs varam atlasīt elementus pēc taga nosaukuma, ID, klases nosaukuma utt.

Tos var īstenot ar šādām metodēm:

.find_element_by_id
.find_element_by_tag_name
.find_element_by_class_name
.find_element_by_name

No Google tīmekļa lapas meklēšanas lodziņam ir ID lst-ib, tāpēc mēs atrastu elementu pēc id.

>>> search_box = draiveris.find_element_by_id ("lst-ib")

Tagad, kad mēs esam atraduši elementu un saglabājuši to a meklēšanas lodziņš mainīgais, mēs varam iegūt dažas darbības meklēšanas lodziņā.

>>> meklēšanas lodziņš.send_keys ("Zemes planēta")

Tas lodziņā ievadīs tekstu “Zemes planēta”.

>>> meklēšanas lodziņš.skaidrs ()

Tas no meklēšanas lodziņa notīrīs ievadīto tekstu. Jums vajadzētu izmantot send_keys metodi, nākamajā sadaļā mēs noklikšķināsim uz meklēšanas pogas, lai mums būtu ko meklēt.

Noklikšķinot uz labajām pogām

Tagad, kad meklēšanas lodziņš ir aizpildīts ar kādu informāciju, mēs varam turpināt meklēt.

Tāpat kā mēs atradām meklēšanas lodziņu, tāpat kā mēs atradīsim meklēšanas pogu.

Manā mašīnā es saņēmu sekojošo:

type = "Iesniegt">

Aplūkojot to, mēs varam izmantot nosaukuma atribūtu. Mēs to varam iegūt, izmantojot zemāk esošo kodu:

>>> search_button = draiveris.find_element_by_name ("btnK")

Pēc vajadzīgā taga atrašanas mēs varam noklikšķināt uz pogas, izmantojot klikšķis metodi.

>>> meklēšanas_poga.klikšķis()

Tomēr esiet piesardzīgs, jo Google automātisko ieteikumu dēļ jūs varat meklēt kaut ko citu.

Lai to apietu, tastatūrai nekavējoties jānospiež ievadīšanas taustiņš. Atslēgas neietilpst šī raksta darbības jomā, taču šeit ir kods.

>>> no selēna.tīmekļa draiveris.bieži.atslēgu importēšana
>>> search_box = draiveris.find_element_by_id ("lst-ib")
>>> search_box.send_keys ("Zemes planēta")
>>> meklēšanas lodziņš.send_keys (Atslēgas.ATGRIEZTIES)

Izmantojot iepriekš minēto kodu, mums nav jānoklikšķina uz meklēšanas pogas. Tas darbojas tāpat kā tad, kad pēc meklēšanas vērtību ierakstīšanas mēs nospiežam taustiņu Enter.

Šī buttosn kodēšanas metode darbojas ne tikai ar pogām, bet arī ar saitēm.

Ekrānuzņēmumu uzņemšana

Jūs lasījāt šīs tiesības! Ekrānuzņēmumus var uzņemt, izmantojot selēnu, un tas ir tikpat vienkārši kā iepriekšējās sadaļās.

Tas, ko mēs darīsim, ir piezvanīt save_screenshot metodi uz draivera objekta, pēc tam mēs ievadīsim attēla nosaukumu, un ekrānuzņēmums tiks uzņemts.

>>> šoferis.save_screenshot ("Planēta-zeme.png ")

Pārliecinieties, vai attēla nosaukumam ir a .png paplašinājums, citādi jūs varētu nonākt ar bojātu attēlu.

Kad esat pabeidzis operācijas, varat aizvērt pārlūkprogrammu, palaižot šādu kodu:

>>> šoferis.aizvērt ()

Secinājums

Selēns ir pazīstams kā ļoti spēcīgs rīks, un spēja to izmantot tiek uzskatīta par būtisku prasmi automatizācijas testētājiem. Selēns var paveikt daudz vairāk, nekā tika apspriests šajā rakstā, tastatūras kustības faktiski var atkārtot, kā parādīts Atslēgas.ATGRIEZTIES. Ja vēlaties uzzināt vairāk par selēnu, varat to pārbaudīt dokumentācija, tas ir diezgan skaidrs un viegli lietojams.

Instalējiet jaunāko Dolphin emulatoru Gamecube un Wii operētājsistēmai Linux
Delfīnu emulators ļauj jums spēlēt izvēlētās Gamecube un Wii spēles Linux personālajos datoros (PC). Tā kā Dolphin Emulator ir brīvi pieejams un atvē...
Kā lietot GameConqueror Cheat Engine Linux
Rakstā ir sniegts ceļvedis par GameConqueror apkrāptu dzinēja izmantošanu Linux. Daudzi lietotāji, kas spēlē spēles operētājsistēmā Windows, bieži izm...
Labākie Linux spēļu konsoles emulatori
Šajā rakstā tiks uzskaitīta populārā Linux spēļu konsoles atdarināšanas programmatūra. Emulācija ir programmatūras saderības slānis, kas atdarina spēļ...