Szelén

A Selenium használata a Firefox illesztőprogrammal

A Selenium használata a Firefox illesztőprogrammal
A szelén nagyszerű eszköz a böngésző teszteléséhez, a webes automatizáláshoz és a webes kaparáshoz. A szelén vezérelheti a legtöbb modern webböngészőt. én.e., Firefox, Chrome, Chromium, Opera, Apple Safari. A böngésző vezérléséhez a Seleniumnak egy web meghajtó nevű eszközre van szüksége. A modern böngésző-gyártók többsége a web-illesztőprogramot biztosítja böngészőihez.

A Mozilla Firefox webböngésző Seleniumból történő vezérléséhez a Gecko webillesztőt kell használnia.

Ebben a cikkben bemutatom, hogyan állíthatja be a Selen böngészőtesztek futtatásához, webautomatizáláshoz, webes másolási feladatokhoz a Mozilla Firefox böngészővel. Tehát kezdjük.

Előfeltételek:

A cikk parancsainak és példáinak kipróbálásához rendelkeznie kell,

1) Linux disztribúció (lehetőleg Ubuntu) telepítve a számítógépére.
2) A Python 3 telepítve van a számítógépére.
3) A PIP 3 telepítve van a számítógépére.
4) A Mozilla Firefox telepítve van a számítógépre.

Számos cikket találhat ezekről a témákról a LinuxHint-en.com. Ügyeljen arra, hogy ellenőrizze őket, ha segítségre van szüksége.

A Python 3 virtuális környezet előkészítése a projekthez:

A Python virtuális környezet egy elszigetelt Python projektkönyvtár létrehozására szolgál. A PIP használatával telepített Python modulokat csak a projektkönyvtárba telepítik, nem globálisan.

Piton virtualenv modul a Python virtuális környezetek kezelésére szolgál.

Telepítheti a Python-t virtualenv modul globálisan a PIP 3 használatával, az alábbiak szerint:

$ sudo pip3 telepítse a virtualenv-t

Piton virtualenv telepíteni kell.

Hozzon létre egy projekt könyvtárat szelén-firefox / a jelenlegi munkakönyvtárban az alábbiak szerint:

$ mkdir -pv selenium-firefox / meghajtók

Navigáljon az újonnan létrehozott projektkönyvtárhoz szelén-firefox / alábbiak szerint:

$ cd szelén-firefox /

Hozzon létre egy Python virtuális környezetet a projektkönyvtárában a következő paranccsal:

$ virtualenv .venv

A Python virtuális környezetet a projekt könyvtárában kell létrehozni.

Aktiválja a Python virtuális környezetet a projektkönyvtárból a következő paranccsal:

$ forrás .env / bin / activ

A Selenium Python könyvtár telepítése:

A szelén könyvtár a hivatalos Python PyPI adattárban érhető el.

A Selenium Python könyvtárat a PIP 3 segítségével az alábbiak szerint telepítheti:

$ pip3 telepítse a szelént

A Selenium Python könyvtárat telepíteni kell.

A Firefox Gecko illesztőprogram telepítése:

A Firefox Gecko illesztőprogram letöltéséhez látogasson el a mozilla / geckodriver GitHub kiadási oldalára a kedvenc webböngészőjéből.

Mint láthatja, v0.26.A 0 a Firefox Gecko Driver legújabb verziója az írás idején.

A Firefox Gecko illesztőprogram letöltéséhez görgessen egy kicsit lefelé, és kattintson a Linux geckodriver tar-ra.gz archívum az operációs rendszer architektúrájától függően.

Ha 32 bites operációs rendszert használ, kattintson a gombra geckodriver-v0.26.0-linux32.kátrány.gz link.

Ha 64 bites operációs rendszert használ, kattintson a gombra geckodriver-v0.26.0-linuxx64.kátrány.gz link.

Letöltöm a Firefox Gecko illesztőprogram 64 bites verzióját.

Böngészője kéri, hogy mentse az archívumot. Válassza a lehetőséget Fájl mentése és kattintson a gombra rendben.

Töltse le a Firefox Gecko illesztőprogramot.

A Firefox Gecko illesztőprogram archívumát a ~ / Letöltések Könyvtár.

Kivonhatja a geckodriver-v0.26.0-linux64.kátrány.gz archívum a ~ / Letöltések könyvtárba a járművezetők / a projekt könyvtárát a következő paranccsal:

$ tar -xzf ~ / Letöltések / geckodriver-v0.26.0-linux64.kátrány.gz -C illesztőprogramok /

Miután kibontotta a Firefox Gecko Driver archívumát, új bináris fájl geckodriver kell létrehozni a járművezetők / a projekt könyvtárát, amint az az alábbi képernyőképen látható.

A szelén használatának megkezdése a Firefox Gecko illesztőprogram használatával:

Ebben a részben bemutatom, hogyan állíthatja be első Selenium Python szkriptjét annak tesztelésére, hogy a Firefox Gecko illesztőprogram működik-e.

Először hozzon létre egy új Python szkriptet ex00.py a projekt könyvtárában, és írja be a következő sorokat.

a szelénimport-meghajtóról
szelénből.web meghajtó.gyakori.kulcsok importálása kulcsok
böngésző = webdriver.Firefox (végrehajtható_útvonal = "./ drivers / geckodriver ")
böngésző.get ('https: // www.linuxhint.com ')
print ('Cím:% s'% böngésző.cím)
böngésző.Kilépés()

Ha végzett, mentse ex00.py Python szkript.

Az 1. És 2. Sor importálja az összes szükséges összetevőt a szelén Python könyvtár.

A 4. sor egy Firefox webes illesztőobjektumot hoz létre a web meghajtó.Firefox () módszer és tárolja a böngésző változó. A végrehajtható_útvonal argumentum segítségével megadhatja a webillesztőprogramnak, hogy hol keresse meg a Firefox Gecko illesztőprogram bináris fájlját. Ebben az esetben a geckodriver bináris a járművezetők / a projekt könyvtárát.

A 6. vonalon, böngésző.kap() módszer feltöltődik linuxhint.com Firefox böngészőben.

Miután a weboldal befejezte a betöltést, a 7. sor itt nyomtatja ki a weboldal címét, böngésző.cím tulajdonság a weboldal címének elérésére szolgál.

A 8. sor bezárja a Firefox böngészőt a böngésző.Kilépés() módszer.

Futtathatja a Python szkriptet ex00.py a következő paranccsal:

$ python3 ex00.py

A Seleniumnak meg kell nyitnia egy Firefox böngészőt, és fel kell keresnie a linuxhint oldalt.com weboldal automatikusan.

Amint az oldal betöltődik, ki kell nyomtatnia a webhely címét a konzolra, és a webböngésző automatikusan bezárul.

Tehát a Selenium megfelelően működik a Firefox Gecko illesztőprogrammal.

01. példa: A Firefox futtatása fej nélküli módban szelén használatával

Futtathatja a Seleniumot a Firefox Gecko Driver programmal is fej nélküli módban. A Selenium Firefox fej nélküli módhoz nincs szükség grafikus felhasználói felületre a számítógépre. Tehát a Selenium Firefox futtatását bármelyik fejetlen Linux szerveren elvégezheti.

Először hozzon létre egy új Python szkriptet ex01.py a projektkönyvtárban, és írja be a következő kódsorokat.

a szelénimport-meghajtóról
szelénből.web meghajtó.firefox.opciók importálása Beállítások
szelénből.web meghajtó.gyakori.kulcsok importálása kulcsok
firefoxOptions = Opciók ()
firefoxOptions.add_argument ("- fejetlen")
böngésző = webdriver.Firefox (végrehajtható_útvonal = "./ drivers / geckodriver ", options = firefoxOptions)
böngésző.get ('https: // www.linuxhint.com ')
print ('Cím:% s'% böngésző.cím)
böngésző.Kilépés()

Ha elkészült, mentse a ex01.py Python szkript.

Az 1. és a 3. sor megegyezik az 1. és a 2. vonallal ex00.py Python szkript.

A 2. sor importálja a Firefoxot Opciók tól szelén könyvtár.

Az 5. sor létrehoz egy Firefox Options objektumot, és eltárolja azt a firefoxOptions változó.

A 6. sor a firefoxOptions.add_argument () metódus a -fejetlen Firefox parancssori jelző a firefoxOptions tárgy.

A 8. vonalon, opciók argumentumot használjuk a firefoxOptions miközben inicializálja a Firefox web illesztőprogramot a web meghajtó.Firefox () módszer.

A többi sor a ex01.py szkript megegyezik a ex00.py.

Futtathatja a Python szkriptet ex01.py a következő paranccsal:

$ python3 ex01.py

Mint látható, a weboldal címe (linuxhint.com) a konzolra van nyomtatva anélkül, hogy megnyitná a Firefox webböngésző grafikus változatát.

Amint láthatja, a Selenium egy olyan fejetlen Ubuntu környezeten is dolgozik, ahol nincs grafikus felhasználói felület telepítve.

Most, hogy tudja, hogyan adja át a -fejetlen A Firefox parancssori jelzője / opciója a Selenium Firefox Gecko illesztőprogram használatával bármely más Firefox parancssori jelzőt / beállítást is átadhat.

Az összes támogatott Firefox parancssori jelzőt / beállítást megtalálhatja a Parancssor - Mozilla | MDN oldal.

02. példa: Lorem Ipsum kivonása szelén alkalmazásával

Ebben a részben bemutatom, hogyan kell elvégezni az alapvető webes selejtezést a Selenium Firefox Gecko illesztőprogram használatával.

Először keresse fel a Lorem Ipsum Generator oldalt a Firefox böngészőből. Mint látható, az oldal 5 véletlenszerű bekezdést generált. Bontsuk ki az összes létrehozott szöveget (mind az 5 bekezdést) erről az oldalról.

Mielőtt elkezdené kinyerni az információkat egy weboldalról, ismernie kell a weboldal tartalmának HTML felépítését.

A. Segítségével könnyen megtalálhatja a kibontani kívánt tartalom HTML-szerkezetét Firefox fejlesztői eszköz. Kinyitni Firefox fejlesztői eszköz, nyomja meg a jobb egérgombot (RMB) az oldalon, és kattintson a gombra Ellenőrizze az elemet (Q).

Firefox fejlesztői eszköz meg kell nyitni. Kattintson a Ellenőrzés ikon () az alábbi képernyőképen jelölt módon.

Vigye az egérmutatót az első bekezdés fölé, ahogy az alábbi képernyőképen látható. Ezután nyomja meg a bal egérgombot (LMB) a kiválasztásához.

A bekezdések HTML struktúráját meg kell jeleníteni a Ellenőrizze fül a Firefox fejlesztői eszköz. Amint láthatja, a generált lorem ipsum bekezdések az a belsejében vannak div címke, amely rendelkezik a id ajkak.

A lorem ipsum bekezdések kivonásához a Selenium Firefox Gecko Driver használatával hozzon létre egy új Python parancsfájlt ex02.py a projektkönyvtárban, és írja be a következő kódsorokat.

a szelénimport-meghajtóról
szelénből.web meghajtó.firefox.opciók importálása Beállítások
szelénből.web meghajtó.gyakori.kulcsok importálása kulcsok
firefoxOptions = Opciók ()
firefoxOptions.add_argument ("- fejetlen")
böngésző = webdriver.Firefox (végrehajtható_útvonal = "./ drivers / geckodriver ", options = firefoxOptions)
böngésző.get ('https: // www.ajkak.com / feed / html ')
lipsum = böngésző.find_element_by_id ('lipsum')
nyomtatás (lipsum.szöveg)
böngésző.Kilépés()

Ha elkészült, mentse a ex02.py Python szkript.

A 10. sor betölti a lorem ipsum generátor oldalát a böngésző.kap() módszer.

A lorem ipsum tartalma a div címke az azonosítóval ajkak. A 12. sor a böngésző.find_element_by_id () módszerrel válassza ki a weboldalról, és tárolja a ajkak változó.

A 13. sor kinyomtatja a létrehozott lorem ipsum tartalmat a konzolon. Itt a szöveg tulajdonságot használjuk a div elem az azonosítóval ajkak.

Most futtassa a Python szkriptet ex02.py alábbiak szerint:

$ python3 ex02.py

Mint látható, a szelén helyesen vonta ki a lorem ipsum tartalmát a weboldalról.

A Python szkript futtatása ex02.py ismét más eredményt ad, amint az az alábbi képernyőképen látható.

03. példa: Listaadatok kivonása szelén segítségével

Ebben a részben bemutatok egy példát a weboldal selejtezési listájának adatairól a Selenium Firefox Gecko illesztőprogram segítségével fej nélküli módban.

Először keresse fel a véletlenszerű név-generátort.információk a Firefox böngészőből. Ez a webhely 10 véletlenszerű nevet generál minden alkalommal, amikor újratölti az oldalt, amint az az alábbi képernyőképen látható. Célunk, hogy ezeket a véletlenszerű neveket szelén nélkül fejetlen módban nyerjük ki.

A lista HTML felépítésének megismeréséhez meg kell nyitnia a Firefox fejlesztői eszköz. Ehhez nyomja meg az egér jobb gombját (RMB) az oldalon, és kattintson a gombra Ellenőrizze az elemet (Q).

Firefox fejlesztői eszköz meg kell nyitni. Kattintson a Ellenőrzés ikon () az alábbi képernyőképen jelölt módon.

Ezután mutasson az egérrel a listára Véletlen nevek. A listát ki kell emelni az alábbi képernyőképen jelölt módon. Ezután nyomja meg az egér bal gombját (LMB) a lista kiválasztásához.

A lista HTML kódját ki kell emelni a Ellenőr fül a Firefox fejlesztői eszköz. Itt a Véletlenszerű nevek listája a div elem. A div elem rendelkezik a osztály név eredmények. Belül van egy ol elem a osztály név névlista. Benne ol elem, a nevek mindegyike a li elem.

Ebből azt mondhatjuk, hogy eljutunk a li címkéket, követnünk kell div.eredmények> ol.névLista> li

Tehát, a CSS választónk az lesz div.eredmények ol.névLista li (csak cserélje ki a > táblák fehér szóközzel)

A véletlenszerű nevek kibontásához hozzon létre egy új Python parancsfájlt ex03.py és írja be a következő kódsorokat benne.

a szelénimport-meghajtóról
szelénből.web meghajtó.firefox.opciók importálása Beállítások
szelénből.web meghajtó.gyakori.kulcsok importálása kulcsok
firefoxOptions = Opciók ()
firefoxOptions.add_argument ("- fejetlen")
böngésző = webdriver.Firefox (végrehajtható_útvonal = "./ drivers / geckodriver ", options = firefoxOptions)
böngésző.get ("http: // random-name-generator.info / ")
nameList = böngésző.find_elements_by_css_selector ('div.eredmények ol.nameList li ')
a névhez a névlistában:
nyomtatott név.szöveg)
böngésző.Kilépés()

Ha elkészült, mentse a ex03.py Python szkript.

A 10. sor betölti a véletlenszerű névgenerátor webhelyét a böngésző.kap() módszer.

A 11. sor a név használatával választja ki a névlistát böngésző.find_elements_by_css_selector () módszer. Ez a módszer a CSS választót használja div.eredmények ol.névLista li hogy megtalálja a névlistát. Ezután a névlista a névlista változó.

A 13. és a 14. sorban a mert ciklust használjuk a névlista listája li elemek. Minden iterációban a li elem a konzolra van nyomtatva.

Most futtassa a Python szkriptet ex03.py alábbiak szerint:

$ python3 ex03.py

Mint látható, a Python szkript ex03.py lekérte az összes véletlenszerű nevet a weboldalról.

Ha másodszor futtatja a szkriptet, akkor a véletlenszerű nevek új listáját adja vissza, amint az az alábbi képernyőképen látható.

Következtetés:

Ez a cikk segíthet a Firefox webböngésző használatának megkezdésében. Elég könnyen fel kell tudnia állítani egy Selenium Firefox Gecko illesztőprogram-projektet, és futtathatja a böngésző tesztjeit, a web-automatizálást és a web-kaparási feladatokat.

Telepítse a legújabb OpenRA stratégiai játékot az Ubuntu Linux rendszerre
Az OpenRA egy ingyenes / ingyenes valós idejű stratégiai játékmotor, amely újjáépíti a korai Westwood játékokat, mint például a klasszikus Command & C...
Telepítse a legújabb Dolphin Emulator for Gamecube & Wii szoftvert Linuxra
A Dolphin Emulator segítségével a kiválasztott Gamecube & Wii játékokat játszhatja Linux személyi számítógépeken (PC). Mivel a Dolphin Emulator szaba...
A GameConqueror Cheat Engine használata Linux alatt
A cikk tartalmaz egy útmutatót a GameConqueror csaló motor Linux alatt történő használatáról. Sok olyan felhasználó, aki Windows-on játszik játékot, g...