Ievads selēnā programmā Python 3

Introduction Selenium Python 3



Selēns ir ietvars, ko izmanto tīmekļa lietojumprogrammu testēšanai. Selēns automatizē pārlūkprogrammu, piemēram, Chrome vai Firefox, lai veiktu testus jūsu vēlamajā vietnē. Selēns ir arī ļoti spēcīgs tīmekļa skrāpēšanas rīks. Selēns atbalsta JavaScript un visas mūsdienu pārlūkprogrammas funkcijas. Šis rīks ir ļoti efektīvs, lai iegūtu informāciju no vietnēm.

Šajā rakstā tiks parādīts, kā iestatīt selēnu savā Linux izplatīšanā (t.i., Ubuntu), kā arī kā veikt pamata tīmekļa automatizāciju un tīmekļa atgriezumus, izmantojot Selenium Python 3 bibliotēku.







Priekšnosacījumi

Lai izmēģinātu šajā rakstā izmantotās komandas un piemērus, jums ir jābūt šādam:



1) Jūsu datorā instalēta Linux izplatīšana (vēlams Ubuntu).
2) Python 3 ir instalēts jūsu datorā.
3) PIP 3 ir instalēts jūsu datorā.
4) Jūsu datorā ir instalēta pārlūkprogramma Google Chrome vai Firefox.



Jūs varat atrast daudz rakstu par šīm tēmām vietnē LinuxHint.com . Noteikti pārbaudiet šos rakstus, ja jums nepieciešama papildu palīdzība.





Python 3 virtuālās vides sagatavošana projektam

Python virtuālā vide tiek izmantota, lai izveidotu izolētu Python projektu direktoriju. Python moduļi, kurus instalējat, izmantojot PIP, tiks instalēti tikai projektu direktorijā, nevis globāli.

Pitons virtualenv modulis tiek izmantots, lai pārvaldītu Python virtuālo vidi.



Jūs varat instalēt Python virtualenv modulis visā pasaulē, izmantojot PIP 3, šādi:

$ sudo pip3 instalējiet virtualenv

PIP3 lejupielādēs un globāli instalēs visus nepieciešamos moduļus.

Šajā brīdī Python virtualenv modulis ir jāinstalē globāli.

Izveidojiet projektu direktoriju python-selēns-pamata/ pašreizējā darba direktorijā:

$ mkdir -pv python-selēns-pamata/draiveri

Dodieties uz jaunizveidoto projektu direktoriju python-selēns-pamata/ , sekojoši:

$CDpython-selēns-pamata/

Izveidojiet Python virtuālo vidi projekta direktorijā, izmantojot šādu komandu:

$ virtualenv.env

Python virtuālā vide tagad ir jāizveido jūsu projektu direktorijā. ”

Aktivizējiet Python virtuālo vidi projekta direktorijā, izmantojot šādu komandu:

$ avots.env/bin/aktivizēt

Kā redzat, šim projekta direktorijam ir aktivizēta virtuālā vide Python.

Selēna Python bibliotēkas instalēšana

Selēna Python bibliotēka ir pieejama oficiālajā Python PyPI krātuvē.

Šo bibliotēku var instalēt, izmantojot PIP 3, šādi:

$ pip3 instalēt selēnu

Tagad vajadzētu instalēt Selenium Python bibliotēku.

Tagad, kad Selenium Python bibliotēka ir instalēta, nākamā lieta, kas jums jādara, ir instalēt iecienītākās tīmekļa pārlūkprogrammas tīmekļa draiveri. Šajā rakstā es parādīšu, kā instalēt Firefox un Chrome tīmekļa draiverus Selēnam.

Firefox Gecko draivera instalēšana

Firefox Gecko draiveris ļauj kontrolēt vai automatizēt Firefox tīmekļa pārlūkprogrammu, izmantojot Selēnu.

Lai lejupielādētu Firefox Gecko draiveri, apmeklējiet GitHub izlaiž mozilla/geckodriver lapu no tīmekļa pārlūkprogrammas.

Kā redzat, v0.26.0 ir jaunākā Firefox Gecko draivera versija šī raksta rakstīšanas laikā.

Lai lejupielādētu Firefox Gecko draiveri, nedaudz ritiniet uz leju un noklikšķiniet uz Linux geckodriver tar.gz arhīva atkarībā no operētājsistēmas arhitektūras.

Ja izmantojat 32 bitu operētājsistēmu, noklikšķiniet uz geckodriver-v0.26.0-linux32.tar.gz saite.

Ja izmantojat 64 bitu operētājsistēmu, noklikšķiniet uz geckodriver-v0.26.0-linuxx64.tar.gz saite.

Manā gadījumā es lejupielādēšu Firefox Gecko draivera 64 bitu versiju.

Jūsu pārlūkprogrammai vajadzētu lūgt saglabāt arhīvu. Izvēlieties Saglabāt failu un pēc tam noklikšķiniet labi .

Firefox Gecko draiveru arhīvs ir jālejupielādē ~/Lejupielādes direktoriju.

Izņemiet geckodriver-v0.26.0-linux64.tar.gz arhīvs no ~/Lejupielādes direktoriju uz šoferi/ sava projekta direktorijā, ievadot šādu komandu:

$darva -xzf~/Lejupielādes/geckodriver-v0.26.0-linux64.tar.gz-Cšoferi/

Kad ir izvilkts Firefox Gecko draiveru arhīvs, jauns gekona vadītājs binārais fails jāizveido šoferi/ sava projekta direktoriju, kā redzat zemāk esošajā ekrānuzņēmumā.

Selēna Firefox Gecko draivera pārbaude

Šajā sadaļā es parādīšu, kā iestatīt savu pirmo Selēna Python skriptu, lai pārbaudītu, vai darbojas Firefox Gecko draiveris.

Vispirms atveriet projektu direktoriju python-selēns-pamata/ ar savu iecienītāko IDE vai redaktoru. Šajā rakstā es izmantošu Visual Studio kodu.

Izveidojiet jaunu Python skriptu ex01.py , un skriptā ierakstiet šādas rindas.

noselēnsimportēttīmekļa draiveris
noselēns.tīmekļa draiveris.bieži.atslēgas importētAtslēgas
no laiks importētGulēt
pārlūkprogrammā=tīmekļa draiveris.Firefox(izpildāms_ceļš='./drivers/geckodriver')
pārlūkprogrammā.gūt('http://www.google.lv')
Gulēt(5)
pārlūkprogrammā.atmest()

Kad esat pabeidzis, saglabājiet ex01.py Python skripts.

Es izskaidrošu kodu šī raksta vēlāk.

Šajā rindā Selēns tiek konfigurēts, lai izmantotu Firefox Gecko draiveri no šoferi/ sava projekta direktorijā.

Lai pārbaudītu, vai Firefox Gecko draiveris darbojas ar selēnu, izpildiet tālāk norādītās darbības ex01.py Python skripts:

$ python3 ex01.py

Firefox tīmekļa pārlūkprogrammai automātiski jāapmeklē vietne Google.com un tā jāaizver pēc 5 sekundēm. Ja tas notiek, tad Selenium Firefox Gecko draiveris darbojas pareizi.

Chrome tīmekļa draivera instalēšana

Chrome tīmekļa draiveris ļauj jums kontrolēt vai automatizēt Google Chrome tīmekļa pārlūkprogrammu, izmantojot selēnu.

Jums ir jālejupielādē tāda pati Chrome tīmekļa draivera versija kā jūsu Google Chrome tīmekļa pārlūkprogrammai.

Lai uzzinātu savas Google Chrome tīmekļa pārlūkprogrammas versijas numuru, apmeklējiet chrome: // settings/help pārlūkā Google Chrome. Versijas numuram jābūt Par Chrome sadaļā, kā redzat zemāk esošajā ekrānuzņēmumā.

Manā gadījumā versijas numurs ir 83.0.4103.116 . Versijas numura pirmās trīs daļas ( 83.0.4103 , manā gadījumā) jāatbilst pirmajām trim Chrome tīmekļa draivera versijas numura daļām.

Lai lejupielādētu Chrome tīmekļa draiveri, apmeklējiet oficiālā Chrome draivera lejupielādes lapa .

Iekš Pašreizējie laidieni sadaļā, būs pieejams Chrome tīmekļa draiveris jaunākajiem Google Chrome tīmekļa pārlūkprogrammas laidieniem, kā redzams tālāk redzamajā ekrānuzņēmumā.

Ja jūsu izmantotā Google Chrome versija nav Pašreizējie laidieni sadaļā, nedaudz ritiniet uz leju, un jums vajadzētu atrast vēlamo versiju.

Kad esat noklikšķinājis uz pareizās Chrome tīmekļa draivera versijas, jums vajadzētu nokļūt nākamajā lapā. Noklikšķiniet uz chromedriver_linux64.zip saiti, kā norādīts tālāk esošajā ekrānuzņēmumā.

Tagad ir jālejupielādē Chrome tīmekļa draivera arhīvs.

Chrome tīmekļa draivera arhīvs tagad ir jālejupielādē ~/Lejupielādes direktoriju.

Jūs varat iegūt chromedriver-linux64.zip arhīvs no ~/Lejupielādes direktoriju uz šoferi/ sava projekta direktoriju ar šādu komandu:

$ unzip~/Lejupielādes/chromedriver_linux64.rāvējslēdzējs-d draiveri/

Kad ir izvilkts Chrome tīmekļa draivera arhīvs, jauns hromodriveris binārais fails jāizveido šoferi/ sava projekta direktoriju, kā redzat zemāk esošajā ekrānuzņēmumā.

Selēna Chrome tīmekļa draivera pārbaude

Šajā sadaļā es parādīšu, kā iestatīt savu pirmo Selēna Python skriptu, lai pārbaudītu, vai Chrome tīmekļa draiveris darbojas.

Vispirms izveidojiet jaunu Python skriptu ex02.py un skriptā ierakstiet šādas kodu rindas.

noselēnsimportēttīmekļa draiveris
noselēns.tīmekļa draiveris.bieži.atslēgas importētAtslēgas
no laiks importētGulēt
pārlūkprogrammā=tīmekļa draiveris.Chrome(izpildāms_ceļš='./drivers/chromedriver')
pārlūkprogrammā.gūt('http://www.google.lv')
Gulēt(5)
pārlūkprogrammā.atmest()

Kad esat pabeidzis, saglabājiet ex02.py Python skripts.

Es izskaidrošu kodu šī raksta vēlāk.

Nākamajā rindā Selēns tiek konfigurēts, lai izmantotu Chrome tīmekļa draiveri no šoferi/ sava projekta direktorijā.

Lai pārbaudītu, vai Chrome tīmekļa draiveris darbojas ar selēnu, palaidiet ex02.py Python skripts:

$ python3 ex01.py

Google Chrome tīmekļa pārlūkprogrammai vajadzētu automātiski apmeklēt vietni Google.com un pēc 5 sekundēm aizvērties. Ja tas notiek, tad Selenium Firefox Gecko draiveris darbojas pareizi.

Tīmekļa skrāpēšanas pamati ar selēnu

No šī brīža es izmantošu Firefox tīmekļa pārlūkprogrammu. Ja vēlaties, varat izmantot arī pārlūku Chrome.

Selēna Python pamata skriptam vajadzētu izskatīties kā skriptam, kas parādīts zemāk esošajā ekrānuzņēmumā.

Pirmkārt, importējiet selēnu tīmekļa draiveris no selēns modulis.

Pēc tam importējiet Atslēgas no selēns.tīmekļa draiveris.kopīgas.atslēgas . Tas palīdzēs nosūtīt tastatūras taustiņu nospiešanu pārlūkam, kuru automatizējat no Selēna.

Nākamā rinda izveido a pārlūkprogrammā objekts Firefox tīmekļa pārlūkprogrammai, izmantojot Firefox Gecko draiveri (Webdriver). Izmantojot šo objektu, varat kontrolēt Firefox pārlūkprogrammas darbības.

Lai ielādētu vietni vai URL (es ielādēšu vietni https://www.duckduckgo.com ), zvaniet uz gūt() metode pārlūkprogrammā objektu pārlūkprogrammā Firefox.

Izmantojot selēnu, varat rakstīt testus, veikt tīmekļa atgriezumus un, visbeidzot, aizvērt pārlūkprogrammu, izmantojot atmest () metode pārlūkprogrammā objekts.

Iepriekš ir Selēna Python skripta pamata izkārtojums. Jūs rakstīsit šīs rindiņas visos savos Selēna Python skriptos.

1. piemērs. Tīmekļa lapas nosaukuma drukāšana

Šis būs vienkāršākais piemērs, kas apspriests, izmantojot selēnu. Šajā piemērā mēs izdrukāsim tās tīmekļa lapas nosaukumu, kuru apmeklēsim.

Izveidojiet jaunu failu ex04.py un ierakstiet tajā šādas kodu rindas.

noselēnsimportēttīmekļa draiveris
noselēns.tīmekļa draiveris.bieži.atslēgas importētAtslēgas

pārlūkprogrammā=tīmekļa draiveris.Firefox(izpildāms_ceļš='./drivers/geckodriver')

pārlūkprogrammā.gūt('https://www.duckduckgo.com')
drukāt('Nosaukums: %s'% pārlūks.titulu)
pārlūkprogrammā.atmest()

Kad esat pabeidzis, saglabājiet failu.

Lūk, browser.title tiek izmantots, lai piekļūtu apmeklētās tīmekļa lapas nosaukumam un drukāt () funkcija tiks izmantota, lai drukātu virsrakstu konsolē.

Pēc palaišanas ex04.py skriptam, tam vajadzētu būt:

1) Atveriet Firefox
2) Ielādējiet vēlamo tīmekļa lapu
3) Ielādējiet lapas nosaukumu
4) Izdrukājiet virsrakstu uz konsoles
5) Visbeidzot, aizveriet pārlūkprogrammu

Kā redzat, ex04.py skripts konsolē labi izdrukājis tīmekļa lapas nosaukumu.

$ python3 ex04.py

2. piemērs. Vairāku tīmekļa lapu nosaukumu drukāšana

Tāpat kā iepriekšējā piemērā, varat izmantot to pašu metodi, lai izdrukātu vairāku tīmekļa lapu nosaukumu, izmantojot Python cilpu.

Lai saprastu, kā tas darbojas, izveidojiet jauno Python skriptu ex05.py un skriptā ierakstiet šādas koda rindiņas:

noselēnsimportēttīmekļa draiveris
noselēns.tīmekļa draiveris.bieži.atslēgas importētAtslēgas

pārlūkprogrammā=tīmekļa draiveris.Firefox(izpildāms_ceļš='./drivers/geckodriver')


URL= ['https://www.duckduckgo.com', 'https://linuxhint.com', 'https://yahoo.com']
priekšurliekšāURL:
pārlūkprogrammā.gūt(url)
drukāt('Nosaukums: %s'% pārlūks.titulu)
pārlūkprogrammā.atmest()

Kad esat pabeidzis, saglabājiet Python skriptu ex05.py .

Lūk, URL saraksts saglabā katras tīmekļa lapas URL.

TO priekš cilpa tiek izmantota, lai atkārtotu caur URL saraksta vienumus.

Katrā atkārtojumā Selēns liek pārlūkam apmeklēt url un iegūstiet tīmekļa lapas nosaukumu. Kad Selēns ir ieguvis tīmekļa lapas nosaukumu, tā tiek izdrukāta konsolē.

Palaidiet Python skriptu ex05.py , un jums vajadzētu redzēt katras tīmekļa lapas nosaukumu sadaļā URL sarakstu.

$ python3 ex05.py

Šis ir piemērs tam, kā Selēns var veikt vienu un to pašu uzdevumu ar vairākām tīmekļa lapām vai vietnēm.

3. piemērs. Datu izvilkšana no tīmekļa lapas

Šajā piemērā es parādīšu pamatus, kā iegūt datus no tīmekļa lapām, izmantojot selēnu. To sauc arī par tīmekļa nokasīšanu.

Pirmkārt, apmeklējiet Random.org saiti no Firefox. Lapai vajadzētu ģenerēt nejaušu virkni, kā redzat zemāk esošajā ekrānuzņēmumā.

Lai iegūtu izlases virknes datus, izmantojot selēnu, jums jāzina arī datu HTML attēlojums.

Lai redzētu, kā izlases virknes dati tiek attēloti HTML, atlasiet nejaušās virknes datus un nospiediet peles labo pogu (RMB) un noklikšķiniet uz Pārbaudīt elementu (Q) , kā norādīts zemāk esošajā ekrānuzņēmumā.

Datu HTML attēlojums ir jāparāda Inspektors cilni, kā redzat zemāk esošajā ekrānuzņēmumā.

Varat arī noklikšķināt uz Pārbaudes ikona ( ) lai pārbaudītu lapas datus.

Noklikšķiniet uz pārbaudes ikonas () un virziet kursoru virs izlases virknes datiem, kurus vēlaties iegūt. Datu HTML attēlojums ir jāparāda tāpat kā iepriekš.

Kā redzat, izlases virknes dati ir iesaiņoti HTML priekš tagu un satur klasi dati .

Tagad, kad mēs zinām to datu HTML attēlojumu, kurus mēs vēlamies iegūt, mēs izveidosim Python skriptu, lai iegūtu datus, izmantojot selēnu.

Izveidojiet jaunu Python skriptu ex06.py un ierakstiet skriptā šādas kodu rindas

noselēnsimportēttīmekļa draiveris
noselēns.tīmekļa draiveris.bieži.atslēgas importētAtslēgas

pārlūkprogrammā=tīmekļa draiveris.Firefox(izpildāms_ceļš='./drivers/geckodriver')

pārlūkprogrammā.gūt('https://www.random.org/strings/?num=1&len=20&digits
= on & upperalpha = on & loweralpha = on & unique = on & format = html & rnd = new '
)

dataElement=pārlūkprogrammā.find_element_by_css_selector('pre.data')
drukāt(dataElement.teksts)
pārlūkprogrammā.atmest()

Kad esat pabeidzis, saglabājiet ex06.py Python skripts.

Lūk, browser.get () metode ielādē tīmekļa lapu pārlūkprogrammā Firefox.

The browser.find_element_by_css_selector () metode meklē konkrētu elementu lapas HTML kodā un atgriež to.

Šajā gadījumā elements būtu pre.data , priekš atzīme ar klases nosaukumu dati .

Zemāk ,. pre.data elements ir saglabāts mapē dataElement mainīgais.

Pēc tam skripts izdrukā atlasītā teksta saturu pre.data elements.

Ja jūs vadāt ex06.py Python skriptam, tam vajadzētu iegūt izlases virknes datus no tīmekļa lapas, kā redzat zemāk esošajā ekrānuzņēmumā.

$ python3 ex06.py

Kā redzat, katru reizi, kad palaižu ex06.py Python skriptu, tas no tīmekļa lapas iegūst dažādus nejaušas virknes datus.

4. piemērs. Datu saraksta izvilkšana no tīmekļa lapas

Iepriekšējais piemērs parādīja, kā, izmantojot selēnu, no tīmekļa lapas iegūt vienu datu elementu. Šajā piemērā es parādīšu, kā izmantot selēnu, lai no tīmekļa lapas iegūtu datu sarakstu.

Pirmkārt, apmeklējiet random-name-generator.info no jūsu Firefox tīmekļa pārlūkprogrammas. Šī vietne katru reizi, kad atkārtoti ielādēsit lapu, ģenerēs desmit nejaušus vārdus, kā redzams tālāk redzamajā ekrānuzņēmumā. Mūsu mērķis ir iegūt šos nejaušos nosaukumus, izmantojot selēnu.

Rūpīgāk pārbaudot vārdu sarakstu, jūs varat redzēt, ka tas ir sakārtots saraksts ( nomirt atzīme). The nomirt tagā ir iekļauts arī klases nosaukums nameList . Katrs izlases nosaukums tiek attēlots kā saraksta vienums ( pie tagu) iekšpusē nomirt tagu.

Lai iegūtu šos nejaušos nosaukumus, izveidojiet jaunu Python skriptu ex07.py un ierakstiet skriptā šādas kodu rindas.

noselēnsimportēttīmekļa draiveris
noselēns.tīmekļa draiveris.bieži.atslēgas importētAtslēgas

pārlūkprogrammā=tīmekļa draiveris.Firefox(izpildāms_ceļš='./drivers/geckodriver')

pārlūkprogrammā.gūt('http://random-name-generator.info/')

nameList=pārlūkprogrammā.find_elements_by_css_selector('ol.nameList li')

priekšvārdsiekšānameList:
drukāt(vārds.teksts)

pārlūkprogrammā.atmest()

Kad esat pabeidzis, saglabājiet ex07.py Python skripts.

Lūk, browser.get () metode ielādē nejaušo nosaukumu ģeneratora tīmekļa lapu pārlūkprogrammā Firefox.

The browser.find_elements_by_css_selector () metode izmanto CSS selektoru ol.nameList li lai atrastu visu pie elementi iekšpusē nomirt atzīme ar klases nosaukumu nameList . Esmu saglabājis visus atlasītos pie elementi nameList mainīgais.

TO priekš cilpa tiek izmantota, lai atkārtotu caur nameList saraksts pie elementi. Katrā atkārtojumā saturs pie elements ir uzdrukāts uz konsoles.

Ja jūs vadāt ex07.py Python skriptu, tas ielādēs visus nejaušos nosaukumus no tīmekļa lapas un izdrukās to ekrānā, kā redzat zemāk esošajā ekrānuzņēmumā.

$ python3 ex07.py

Ja skriptu palaižat otro reizi, tam vajadzētu atgriezt jaunu nejaušu lietotāju vārdu sarakstu, kā redzams tālāk redzamajā ekrānuzņēmumā.

5. piemērs. Veidlapas iesniegšana - meklēšana vietnē DuckDuckGo

Šis piemērs ir tikpat vienkāršs kā pirmais piemērs. Šajā piemērā es apmeklēšu DuckDuckGo meklētājprogrammu un meklēšu terminu selēna hq izmantojot selēnu.

Pirmkārt, apmeklējiet DuckDuckGo meklētājprogramma no Firefox tīmekļa pārlūkprogrammas.

Ja pārbaudāt meklēšanas ievades lauku, tam jābūt ar ID search_form_input_homepage , kā redzat zemāk esošajā ekrānuzņēmumā.

Tagad izveidojiet jaunu Python skriptu ex08.py un ierakstiet skriptā šādas kodu rindas.

noselēnsimportēttīmekļa draiveris
noselēns.tīmekļa draiveris.bieži.atslēgas importētAtslēgas
pārlūkprogrammā=tīmekļa draiveris.Firefox(izpildāms_ceļš='./drivers/geckodriver')
pārlūkprogrammā.gūt('https://duckduckgo.com/')
searchInput=pārlūkprogrammā.find_element_by_id('search_form_input_homepage')
searchInput.send_keys('selēna hq'+ Atslēgas.ENTER)

Kad esat pabeidzis, saglabājiet ex08.py Python skripts.

Lūk, browser.get () metode ielādē DuckDuckGo meklētājprogrammas mājas lapu Firefox tīmekļa pārlūkprogrammā.

The browser.find_element_by_id () metode izvēlas ievades elementu ar id search_form_input_homepage un uzglabā to searchInput mainīgais.

The searchInput.send_keys () metodi izmanto, lai nospiestu taustiņu nospiešanas datus ievades laukā. Šajā piemērā tas nosūta virkni selēna hq , un taustiņš Enter tiek nospiests, izmantojot Atslēgas.ENTER nemainīgs.

Tiklīdz DuckDuckGo meklētājprogramma saņem taustiņu Enter, nospiediet ( Atslēgas.ENTER ), tas meklē un parāda rezultātu.

Palaidiet ex08.py Python skripts:

$ python3 ex08.py

Kā redzat, tīmekļa pārlūkprogramma Firefox apmeklēja DuckDuckGo meklētājprogrammu.

Tas tika automātiski ierakstīts selēna hq meklēšanas tekstlodziņā.

Tiklīdz pārlūkprogramma saņēma taustiņu Enter, nospiediet ( Atslēgas.ENTER ), tas parādīja meklēšanas rezultātu.

6. piemērs: veidlapas iesniegšana vietnē W3Schools.com

5. piemērā DuckDuckGo meklētājprogrammas veidlapu iesniegšana bija vienkārša. Viss, kas jums jādara, bija nospiest taustiņu Enter. Bet tas neattieksies uz visiem veidlapu iesniegumiem. Šajā piemērā es parādīšu sarežģītāku veidlapu apstrādi.

Pirmkārt, apmeklējiet W3Schools.com HTML veidlapu lapa no Firefox tīmekļa pārlūkprogrammas. Kad lapa ir ielādēta, jums vajadzētu redzēt veidlapas paraugu. Šī ir veidlapa, kuru mēs iesniegsim šajā piemērā.

Ja pārbaudāt veidlapu, Vārds ievades laukā jābūt ID fvārds , Uzvārds ievades laukā jābūt ID vārds , un Iesniegšanas poga vajadzētu būt tipa Iesniegt , kā redzat zemāk esošajā ekrānuzņēmumā.

Lai iesniegtu šo veidlapu, izmantojot Selēnu, izveidojiet jauno Python skriptu ex09.py un ierakstiet skriptā šādas kodu rindas.

noselēnsimportēttīmekļa draiveris
noselēns.tīmekļa draiveris.bieži.atslēgas importētAtslēgas
pārlūkprogrammā=tīmekļa draiveris.Firefox(izpildāms_ceļš='./drivers/geckodriver')
pārlūkprogrammā.gūt('https://www.w3schools.com/html/html_forms.asp')
fvārds=pārlūkprogrammā.find_element_by_id('fname')
fvārds.skaidrs()
fvārds.send_keys('Šariars')
vārds=pārlūkprogrammā.find_element_by_id('vārds')
vārds.skaidrs()
vārds.send_keys('Šovons')
iesniegšanas poga=pārlūkprogrammā.find_element_by_css_selector('input [type =' iesniegt ']')
iesniegšanas poga.send_keys(Atslēgas.ENTER)

Kad esat pabeidzis, saglabājiet ex09.py Python skripts.

Lūk, browser.get () metode Firefox tīmekļa pārlūkprogrammā atver lapu W3schools HTML veidlapas.

The browser.find_element_by_id () metode atrod ievades laukus pēc id fvārds un vārds un tas tos uzglabā fvārds un vārds mainīgie, attiecīgi.

The fname.clear () un lname.clear () metodes notīra noklusējuma vārdu (Jānis) fvārds vērtība un uzvārds (Doe) vārds vērtību no ievades laukiem.

The fname.send_keys () un lname.send_keys () metožu veids Šariats un Šovons iekš Vārds un Uzvārds attiecīgi ievades lauki.

The browser.find_element_by_css_selector () metode izvēlas Iesniegšanas poga veidlapu un saglabā to iesniegšanas poga mainīgais.

The submittedButton.send_keys () metode nosūta taustiņu Enter, nospiežot ( Atslēgas.ENTER ) uz Iesniegšanas poga no veidlapas. Šī darbība iesniedz veidlapu.

Palaidiet ex09.py Python skripts:

$ python3 ex09.py

Kā redzat, veidlapa ir automātiski iesniegta, ievadot pareizos datus.

Secinājums

Šim rakstam vajadzētu palīdzēt jums sākt darbu ar Selēna pārlūkprogrammas testēšanu, tīmekļa automatizāciju un tīmekļa atgriezumu bibliotēkām Python 3. Lai iegūtu papildinformāciju, skatiet oficiālā Selēna Python dokumentācija .