Selenium

Seleni kasutamine Firefoxi draiveriga

Seleni kasutamine Firefoxi draiveriga
Seleen on suurepärane vahend brauseri testimiseks, veebi automatiseerimiseks ja veebi kraapimiseks. Seleen saab juhtida enamikku tänapäevaseid veebibrausereid. i.e., Firefox, Chrome, Chromium, Opera, Apple Safari. Brauseri juhtimiseks vajab Selenium tööriista nimega Veebidraiver. Enamik kaasaegseid brauserimüüjaid pakuvad veebibrauseritele veebidraiveritarkvara.

Seleeni abil Mozilla Firefoxi veebibrauseri juhtimiseks peate kasutama Gecko veebidraiverit.

Selles artiklis näitan teile, kuidas seadistada seleeni brauseritestide, veebiautomaatika ja veebi kraapimise ülesannete käitamiseks Mozilla Firefoxi veebibrauseri abil. Alustame siis.

Eeldused:

Selle artikli käskude ja näidete proovimiseks peab teil olema,

1) teie arvutisse installitud Linuxi levitamine (eelistatult Ubuntu).
2) teie arvutisse installitud Python 3.
3) PIP 3 arvutisse installitud.
4) arvutisse installitud Mozilla Firefox.

LinuxHintist leiate palju teemasid käsitlevaid artikleid.com. Kontrollige neid kindlasti, kui vajate abi.

Python 3 virtuaalse keskkonna ettevalmistamine projekti jaoks:

Pythoni virtuaalset keskkonda kasutatakse eraldatud Pythoni projekti kataloogi loomiseks. PIP-i abil installitud Pythoni moodulid installitakse ainult projekti kataloogi, mitte globaalselt.

Python virtualenv moodulit kasutatakse Pythoni virtuaalsete keskkondade haldamiseks.

Saate installida Pythoni virtualenv moodulit globaalselt, kasutades PIP 3 järgmiselt:

$ sudo pip3 installige virtualenv

Python virtualenv tuleks paigaldada.

Looge projekti kataloog seleen-Firefox / oma praeguses töökataloogis järgmiselt:

$ mkdir -pv seleen-Firefox / draiverid

Navigeerige oma hiljuti loodud projektikataloogi seleen-Firefox / järgnevalt:

$ cd seleen-Firefox /

Looge oma projekti kataloogis Pythoni virtuaalne keskkond järgmise käsuga:

$ virtualenv .venv

Pythoni virtuaalne keskkond tuleks luua teie projekti kataloogis.

Aktiveerige oma projekti kataloogis Pythoni virtuaalne keskkond järgmise käsuga:

allikas $ .env / bin / activate

Selenium Pythoni teegi installimine:

Seleenikogu on saadaval ametlikus Pythoni PyPI hoidlas.

Selenium Pythoni teegi saate installida PIP 3 abil järgmiselt:

$ pip3 installige seleen

Selenium Pythoni teek tuleks installida.

Firefox Gecko draiveri installimine:

Firefoxi Gecko draiveri allalaadimiseks külastage oma lemmikveebibrauserit Mozilla / geckodriveri lehel GitHub.

Nagu näete, v0.26.0 on selle kirjutamise ajal Firefox Gecko draiveri uusim versioon.

Firefox Gecko draiveri allalaadimiseks kerige natuke allapoole ja klõpsake Linuxi geckodriveri tõrval.gz arhiiv sõltuvalt teie operatsioonisüsteemi arhitektuurist.

Kui kasutate 32-bitist operatsioonisüsteemi, klõpsake nuppu geckodriver-v0.26.0-linux32.tõrv.gz link.

Kui kasutate 64-bitist operatsioonisüsteemi, klõpsake nuppu geckodriver-v0.26.0-linuxx64.tõrv.gz link.

Laadin alla Firefox Gecko draiveri 64-bitise versiooni.

Teie brauser peaks paluma teil arhiivi salvestada. Valige Salvesta fail ja klõpsake nuppu Okei.

Firefox Gecko draiver tuleks alla laadida.

Firefox Gecko draiveri arhiiv tuleks alla laadida ~ / Allalaadimised kataloogi.

Võite selle välja tõmmata geckodriver-v0.26.0-linux64.tõrv.gz arhiiv ~ / Allalaadimised kataloogi autojuhid / oma projekti kataloog järgmise käsuga:

$ tar -xzf ~ / Allalaadimised / geckodriver-v0.26.0-linux64.tõrv.gz -C draiverid /

Kui Firefox Gecko draiveri arhiiv on välja kaevatud, uus binaarfail gekodraiver tuleks luua autojuhid / projekti kataloog, nagu näete alloleval ekraanipildil.

Seleeni kasutamise alustamine Firefox Gecko draiveri abil:

Selles jaotises näitan teile, kuidas seadistada oma esimene Selenium Pythoni skript, et testida, kas Firefox Gecko draiver töötab.

Kõigepealt looge uus Pythoni skript ex00.py oma projekti kataloogi ja tippige sinna järgmised read.

seleeni impordi veebidraiverilt
seleenist.veebidraiver.tavaline.võtmed impordivad võtmeid
brauser = veebidraiver.Firefox (käivitatav_tee = "./ draiverid / geckodriver ")
brauser.saada ('https: // www.linuxhint.com ')
print ('Pealkiri:% s'% brauser.pealkiri)
brauser.lõpetage ()

Kui olete valmis, salvestage ex00.py Pythoni skript.

1. ja 2. rida impordivad kõik vajalikud komponendid seleen Pythoni teek.

Rida 4 loob Firefoxi veebidraiveri objekti, kasutades veebidraiver.Firefox () meetodit ja salvestab selle a brauser muutuv. The käivitatav_tee Argumenti kasutatakse veebidraiverile ütlemiseks, kust otsida binaarset Firefox Gecko draiverit. Sel juhul on gekodraiver binaarne autojuhid / projekti kataloog.

6. liinil, brauser.saada () meetod laadib üles linuxhint.com Firefoxi veebibrauseris.

Kui veebisait on laadimise lõpetanud, prinditakse rida 7 veebisaidi pealkiri siia, brauser.pealkiri vara kasutatakse veebisaidi pealkirja juurde pääsemiseks.

Rida 8 sulgeb Firefoxi veebibrauseri, kasutades brauser.lõpetage () meetod.

Võite käivitada Pythoni skripti ex00.py järgmise käsuga:

$ python3 ex00.py

Seleen peaks avama Firefoxi veebibrauseri ja külastama linuxhinti.com veebisait automaatselt.

Kui leht on laaditud, peaks see konsoolile printima veebisaidi pealkirja ja veebibrauser peaks automaatselt sulguma.

Niisiis, seleen töötab Firefox Gecko draiveriga õigesti.

Näide 01: Firefoxi töötamine peata režiimis, kasutades seleeni

Seleniumi saate käivitada ka Firefox Gecko draiveriga peata režiimis. Selenium Firefoxi peata režiim ei vaja teie arvutisse graafilise kasutajaliidese installimist. Nii saate Selenium Firefoxi käitada kõigis Linuxi peata serverites.

Kõigepealt looge uus Pythoni skript ex01.py oma projekti kataloogi ja tippige sinna järgmised koodiread.

seleeni impordi veebidraiverilt
seleenist.veebidraiver.Firefox.suvandite importimine Valikud
seleenist.veebidraiver.tavaline.võtmed impordivad võtmeid
firefoxOptions = Valikud ()
firefoxValikud.add_argument ("- peata")
brauser = veebidraiver.Firefox (käivitatav_tee = "./ draiverid / geckodriver ", valikud = firefoxOptions)
brauser.saada ('https: // www.linuxhint.com ')
print ('Pealkiri:% s'% brauser.pealkiri)
brauser.lõpetage ()

Kui olete valmis, salvestage ex01.py Pythoni skript.

Rida 1 ja rida 3 on samad, mis rida 1 ja rida ex00.py Pythoni skript.

2. rida impordib Firefoxi Valikud alates seleen raamatukogu.

Rida 5 loob Firefoxi suvandi objekti ja salvestab selle kausta firefoxValikud muutuv.

6. rida kasutab firefoxValikud.add_argument () meetod -peata Firefoxi käsurea lipp firefoxValikud objekt.

8. liinil, valikud argumenti kasutatakse firefoxValikud initsialiseerides samal ajal Firefoxi veebidraiverit veebidraiver.Firefox () meetod.

Ülejäänud read ex01.py skript on sama mis ex00.py.

Võite käivitada Pythoni skripti ex01.py järgmise käsuga:

$ python3 ex01.py

Nagu näete, on veebisaidi pealkiri (linuxhint.com) trükitakse konsoolile ilma Firefoxi veebibrauseri graafilist versiooni avamata.

Nagu näete, töötab Selenium ka Ubuntu peata keskkonnas, kuhu mul pole graafilist kasutajaliidest installitud.

Nüüd, kui teate, kuidas -peata Firefoxi käsurea lipp / suvand Selenium Firefox Gecko draiveri abil saate edastada ka kõik muud Firefoxi käsurea lipud / suvandid.

Kõik toetatud Firefoxi käsurea lipud / suvandid leiate käsurea suvanditest - Mozilla | MDN-i leht.

Näide 02: Lorem Ipsumi ekstraheerimine seleeni abil

Selles jaotises näitan teile, kuidas teha veebi peamist vanametalli, kasutades Selenium Firefox Gecko draiverit.

Kõigepealt külastage Firefoxi veebibrauserist Lorem Ipsum Generator lehte. Nagu näete, genereeris leht 5 juhuslikku lõiku. Eemaldame kogu loodud teksti (kõik 5 lõiku) sellelt lehelt.

Enne kui hakkate veebisaidilt teavet välja võtma, peate teadma veebilehe sisu HTML-struktuuri.

Saate hõlpsasti leida sisu, mille soovite välja kaevata, HTML-i struktuuri Firefoxi arendaja tööriist. Avama Firefoxi arendaja tööriist, vajutage lehel paremat hiirenuppu (RMB) ja klõpsake nuppu Kontrollige elementi (Q).

Firefoxi arendaja tööriist tuleks avada. Klõpsake nuppu Kontrolli ikoon () nagu on märgitud alloleval ekraanipildil.

Hõljutage kursorit esimese lõigu kohal, nagu on näidatud alloleval ekraanipildil. Seejärel vajutage selle valimiseks hiire vasakut nuppu (LMB).

Lõigete HTML-struktuur tuleks kuvada jaotises Kontrollige vahekaart Firefoxi arendaja tööriist. Nagu näete, on loodud loriemi ipsumi lõigud a sees div silt, millel on id huulepulk.

Loremi ipsum-lõikude ekstraheerimiseks Selenium Firefox Gecko draiveri abil looge uus Pythoni skript ex02.py oma projekti kataloogi ja tippige sinna järgmised koodiread.

seleeni impordi veebidraiverilt
seleenist.veebidraiver.Firefox.suvandite importimine Valikud
seleenist.veebidraiver.tavaline.võtmed impordivad võtmeid
firefoxOptions = Valikud ()
firefoxValikud.add_argument ("- peata")
brauser = veebidraiver.Firefox (käivitatav_tee = "./ draiverid / geckodriver ", valikud = firefoxOptions)
brauser.saada ('https: // www.huulepulk.com / feed / html ')
lipsum = brauser.find_element_by_id ('lipsum')
trükk (lipsum.tekst)
brauser.lõpetage ()

Kui olete valmis, salvestage ex02.py Pythoni skript.

10. rida laadib loremi ipsumi generaatori lehe, kasutades brauser.saada () meetod.

Loremi ipsumi sisu on a sees div sildi ID-ga huulepulk. Rida 12 kasutab brauser.find_element_by_id () meetod, et see veebisaidilt valida ja salvestada huulepulk muutuv.

Rida 13 prindib loodud loremi ipsumi sisu konsoolile. Siin, teksti atribuuti kasutatakse juurdepääsu sisule div ID-ga element huulepulk.

Nüüd käivitage Pythoni skript ex02.py järgnevalt:

$ python3 ex02.py

Nagu näete, ekstraheeris seleen loremi ipsumi sisu veebilehelt õigesti.

Pythoni skripti käitamine ex02.py jälle annab teile erineva väljundi, nagu näete alloleval ekraanipildil.

Näide 03: loendiandmete ekstraheerimine seleeni abil

Selles jaotises näitan teile näite veebilõigu loendiandmete kustutamisest veebisaidilt, kasutades Selenium Firefox Gecko draiverit peata režiimis.

Kõigepealt külastage juhuslike nimede generaatorit.teave Firefoxi veebibrauserist. See veebisait genereerib iga lehe uuesti laadimisel 10 juhuslikku nime, nagu näete alloleval ekraanipildil. Meie eesmärk on eraldada need juhuslikud nimed seleeni abil peata režiimis.

Loendi HTML-struktuuri välja selgitamiseks peate avama Firefoxi arendaja tööriist. Selleks vajutage lehel hiire paremat nuppu (RMB) ja klõpsake nuppu Kontrollige elementi (Q).

Firefoxi arendaja tööriist tuleks avada. Klõpsake nuppu Kontrolli ikoon () nagu on märgitud alloleval ekraanipildil.

Seejärel hõljutage kursorit loendi kohal Juhuslikud nimed. Nimekiri tuleks esile tõsta, nagu on märgitud alloleval ekraanipildil. Seejärel vajutage loendi valimiseks hiire vasakut nuppu (LMB).

Loendis olev HTML-kood tuleks esiletõstetud Inspektor vahekaart Firefoxi arendaja tööriist. Siin on juhuslike nimede loend a sees div element. The div elemendil on klass nimi tulemused. Selle sees on meil ol element koos klass nimi nimekiri. Toas ol elemendis on kõik nimed a-s li element.

Selle põhjal võime öelda, et li sildid, peame järgima div.tulemused> ol.nameList> li

Niisiis, meie CSS-i valik saab olema div.tulemused ol.nameList li (asendage lihtsalt > tähed tühikuga)

Nende juhuslike nimede väljavõtmiseks looge uus Pythoni skript ex03.py ja tippige sinna järgmised koodiread.

seleeni impordi veebidraiverilt
seleenist.veebidraiver.Firefox.suvandite importimine Valikud
seleenist.veebidraiver.tavaline.võtmed impordivad võtmeid
firefoxOptions = Valikud ()
firefoxValikud.add_argument ("- peata")
brauser = veebidraiver.Firefox (käivitatav_tee = "./ draiverid / geckodriver ", valikud = firefoxOptions)
brauser.get ("http: // juhuslik-nimi-generaator.info / ")
nameList = brauser.find_elements_by_css_selector ('div.tulemused ol.nameList li ')
nime jaoks nimeloendis:
Prindi nimi.tekst)
brauser.lõpetage ()

Kui olete valmis, salvestage ex03.py Pythoni skript.

Rida 10 laadib juhusliku nimegeneraatori veebisaidi, kasutades brauser.saada () meetod.

11. rida valib nimekirja, kasutades nuppu brauser.find_elements_by_css_selector () meetod. See meetod kasutab CSS-valijat div.tulemused ol.nameList li nimede loendi leidmiseks. Seejärel salvestatakse nimede loend kausta nimekiri muutuv.

Ridades 13 ja 14 a eest silmust kasutatakse iteratsiooni kaudu nimekiri nimekiri li elemendid. Igas iteratsioonis on tabeli sisu li element trükitakse konsoolile.

Nüüd käivitage Pythoni skript ex03.py järgnevalt:

$ python3 ex03.py

Nagu näete, Pythoni skript ex03.py tõi kõik juhuslikud nimed veebilehelt.

Kui käivitate skripti teist korda, peaks see tagastama uue juhuslike nimede loendi, nagu näete alloleval ekraanipildil.

Järeldus:

See artikkel peaks aitama teil Firefoxi veebibrauseri abil seleeniga alustama. Peaksite olema võimeline üsna lihtsalt seadistama Selenium Firefox Gecko draiveri projekti ja käivitama oma brauseri testid, veebiautomaatika ja veebi kraapimise ülesanded.

Lahing Wesnothi õpetuse eest
Battle for Wesnoth on üks populaarsemaid avatud lähtekoodiga strateegiamänge, mida saate praegu mängida. See mäng pole mitte ainult olnud väga pikka a...
0 A.D. Õpetus
Paljudest strateegiamängudest on 0 A.D. suudab silma paista põhjaliku tiitli ja väga sügava taktikalise mänguna, hoolimata sellest, et see on avatud l...
Unity3D õpetus
Sissejuhatus Unity 3D-sse Unity 3D on võimas mängude arendamise mootor. See on platvormidevaheline, mis võimaldab teil luua mänge mobiilseadmetele, ve...