Selenium

Kuidas teha seleeniga ekraanipilti

Kuidas teha seleeniga ekraanipilti
Seleen on suurepärane vahend brauseri testimiseks, veebi automatiseerimiseks ja veebi kraapimiseks. Samuti saate oma veebisaidilt ekraanipiltide tegemiseks kasutada seleeni. See on teie veebisaidi kasutajaliidese (UI) testimiseks erinevates veebibrauserites väga oluline.

Erinevad veebibrauserid kasutavad veebilehtede renderdamiseks erinevaid renderdamismootoreid. Niisiis, sama eesseadme kood ei pruugi kõigis veebibrauserites ühtemoodi renderdada. Selle probleemi lahendamiseks peate võib-olla oma veebisaidile lisama mõned brauserispetsiifilised eesserva koodid. See pole aga ainus raske osa erinevate brauserite ja seadmetega ühilduva veebisaidi kujundamisel. Kõigi teie sihitud brauserite veebisaidi väljanägemise käsitsi kontrollimine võib olla aeganõudev. Peaksite avama kõik sihitud veebibrauserid, külastama veebisaiti, ootama lehe laadimist ja renderdatud lehti omavahel võrdlema. Aja kokkuhoiuks saate kasutada Seleniumi ekraanipildi funktsiooni, et teha oma veebisaidil automaatselt ekraanipilte igas sihitud brauseris ja pilte ise võrrelda. See on palju kiirem kui käsitsi meetod. See artikkel näitab teile, kuidas Seleniumi abil brauseriakendest ekraanipilte teha.

Eeldused

Selles artiklis käsitletud 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) Pythoni pakett virtualenv arvutisse installitud.
5) teie arvutisse installitud Mozilla Firefoxi ja Google Chrome'i veebibrauserid.
6) Teadmised Firefox Gecko draiveri ja Chrome'i veebidraiveri oma süsteemi installimise kohta.

Nõuete 4, 5 ja 6 täitmiseks võite lugeda minu artiklit Sissejuhatus seleeni koos Python 3-ga kell Linuxhint.com.

LinuxHintist leiate palju muid vajalike teemade artikleid.com. Kui vajate täiendavat abi, vaadake need artiklid kindlasti läbi.

Projektikataloogi seadistamine

Et kõik oleks korrastatud, looge uus projekti kataloog seleen-ekraanipilt /, järgnevalt:

$ mkdir -pv selenium-screenshot / pildid, draiverid

Navigeerige lehele seleen-ekraanipilt / järgmiselt:

$ cd seleen-ekraanipilt /

Looge projekti kataloogis Pythoni virtuaalne keskkond järgmiselt:

$ virtualenv .venv

Aktiveerige virtuaalne keskkond järgmiselt:

allikas $ .venv / bin / aktiveeri

Installige seleen PIP3 abil järgmiselt:

$ pip3 installige seleen

Laadige alla ja installige vajalik veebidraiver autojuhid / projekti kataloog. Selgitasin artiklis veebidraiverite allalaadimise ja installimise protsessi Sissejuhatus seleeni koos Python 3-ga. Kui vajate sellel teemal abi, otsige Linuxi vihje.com selle artikli jaoks.

Seleeniga ekraanipiltide tegemise põhitõed

See jaotis annab teile väga lihtsa näite brauseri ekraanipiltide tegemisest koos Seleniumiga.

Kõigepealt looge uus Pythoni skript ex01_google-chrome.py ja tippige skripti järgmised koodiread.

seleeni impordi veebidraiverilt
seleenist.veebidraiver.tavaline.võtmed impordivad võtmeid
googleChromeOptions = veebidraiver.kroomitud.valikud.Valikud ()
googleChromeOptions.peata = tõsi
googleChromeOptions.add_argument ('- akna suurus = 1280 720')
googleChrome = veebidraiver.Chrome (käivitatava_tee = "./ draiverid / chromedriver ",
options = googleChromeOptions)
pageUrl = "https: // www.w3koolid.com ";
googleChrome.hankima (pageUrl)
googleChrome.save_screenshot ('images / w3schools_google-chrome.png ')
googleChrome.Sulge()

Kui olete valmis, salvestage ex01_google-chrome.py Pythoni skript.

4. rida loob Valikud objekt Google Chrome'i veebibrauseri jaoks.

5. rida võimaldab Google Chrome'il peata režiimi.

Rida 6 määrab akna suuruseks 1280 × 720 pikslit.

Rida 8 loob Chrome'i draiveri abil brauseriobjekti ja salvestab selle googleChrome muutuv.

Rida 10 määratleb a pageUrl muutuv. The pageUrl muutuja omab selle veebilehe URL-i, mille Selenium ekraanipildiks teeb.

11. rida laadib pageUrl brauseris.

Rida 12 kasutab save_screenshot () meetod brauseriakna ekraanipildi salvestamiseks faili w3koolid_google-chrome.png aastal pildid / projekti kataloog.

Lõpuks sulgeb rida 14 brauseri.

Järgmisena käivitage ex01_google-chrome.py Pythoni skript järgmiselt:

$ python3 ex01_google-chrome.py

Skripti edukal käivitamisel salvestatakse ekraanipilt pildifaili w3koolid_google-chrome.png aastal pildid / projekti kataloog, nagu näete alloleval ekraanipildil.

Samast veebisaidist ekraanipildi tegemiseks, kuid Firefoxi veebibrauseris, looge uus Pythoni skript ex01_firefox.py ja tippige skripti järgmised koodiread.

seleeni impordi veebidraiverilt
seleenist.veebidraiver.tavaline.võtmed impordivad võtmeid
firefoxOptions = veebidraiver.Firefox.valikud.Valikud ()
firefoxValikud.peata = tõsi
firefoxValikud.add_argument ('- laius = 1280')
firefoxValikud.add_argument ('- kõrgus = 720')
Firefox = veebidraiver.Firefox (käivitatav_tee = "./ draiverid / geckodriver ", valikud = firefoxOptions)
pageUrl = "https: // www.w3koolid.com ";
Firefox.hankima (pageUrl)
Firefox.save_screenshot ('images / w3schools_firefox.png ')
Firefox.Sulge()

Kui olete valmis, salvestage ex01_firefox.py Pythoni skript.

4. rida loob Valikud objekt Firefoxi veebibrauseri jaoks.

5. rida võimaldab Firefoxil peata režiimi.

Rida 6 määrab brauseri akna laiuseks 1280 pikslit ja rida 7 brauseri akna kõrguseks 720 pikslit.

Rida 9 loob Firefox Gecko draiveri abil brauseriobjekti ja salvestab selle Firefox muutuv.

11. rida määratleb a pageUrl muutuv. The pageUrl muutuja omab selle veebilehe URL-i, mille Selenium ekraanipildiks teeb.

13. rida laadib pageUrl brauseris.

Rida 14 kasutab save_screenshot () meetod brauseriakna ekraanipildi salvestamiseks faili w3koolid_firefox.png aastal pildid / projekti kataloog.

Lõpuks sulgeb rida 15 brauseri.

Järgmisena käivitage ex01_firefox.py Pythoni skript järgmiselt:

$ python3 ex01_firefox.py

Skripti edukal käivitamisel tuleks ekraanipilt salvestada pildifaili w3koolid_firefox.png aastal pildid / projekti kataloog, nagu näete alloleval ekraanipildil.

Erinevatest eraldusvõimest ekraanipiltide tegemine

See jaotis näitab teile, kuidas teha sama veebilehe ekraanipilte erineva eraldusvõimega. Selles jaotises kasutan Google Chrome'i veebibrauserit, kuid selles jaotises saate kasutada Firefoxi või mõnda muud brauserit.

Kõigepealt looge uus Pythoni skript ex02.py ja tippige skripti järgmised koodiread.

seleeni impordi veebidraiverilt
seleenist.veebidraiver.tavaline.võtmed impordivad võtmeid
pageUrl = "https: // www.w3koolid.com / ";
eraldusvõimed = ['320,1080', '500,1080', '720,1080', '1366,1080', '1920,1080']
resolutsioonide lahendamiseks:
print ("Pildistatakse eraldusvõimele% s…"% (eraldusvõime.asenda (',', 'x')))
chromeOptions = veebidraiver.ChromeOptions ()
kroomValikud.peata = tõsi
kroomValikud.add_argument ('- akna suurus =' + eraldusvõime)
kroom = veebidraiver.Chrome (käivitatava_tee = "./ draiverid / chromedriver ", valikud = chromeOptions)
kroomitud.hankima (pageUrl)
outputImage = 'images / homepage_chrome_' + eraldusvõime.asenda (',', '_') + '.png '
kroomitud.save_screenshot (outputImage)
kroomitud.Sulge()
print ('Salvestatud% s.% (outputImage))

Kui olete valmis, salvestage ex02.py Pythoni skript.

4. rida määratleb a pageUrl muutuja, mis hoiab veebilehe URL-i, millest sooviksin ekraanipilte teha erineva eraldusvõimega.

Rida 5 määratleb a resolutsioonid loend, mis sisaldab loendit resolutsioonidest, millest tahaksin ekraanipilte teha.

7. rida kordub läbi iga resolutsioons sisse resolutsioonid nimekirja.

Silma sees prindib rida 8 konsoolile sisuka sõnumi.

Ridad 10-15 loovad brauserobjekti resolutsioon praeguse tsükli iteratsiooni ja salvestab selle kroomitud muutuv.

17. rida laadib pageUrl brauseris.

Rida 19 genereerib pilditee, kuhu ekraanipilt salvestatakse, ja salvestab pildi kausta outputImage muutuv.

Rida 20 teeb brauseriaknast ekraanipildi ja salvestab selle teele outputImage.

Rida 21 sulgeb brauseri.

Rida 22 prindib konsoolile sisuka sõnumi ja lõpetab tsükli.

Seejärel algab silmus uuesti järgmise ekraani eraldusvõimega (st.e., järgmine loendiüksus).

Järgmisena käivitage ex02.py Pythoni skript järgmiselt:

$ python3 ex02.py

Pythoni skript ex02.py peaks tegema valitud URL-i ekraanipildid igas valitud ekraaniresolutsioonis.

Ekraanipilt w3koolid.com 320 piksli laiuses.

Ekraanipilt w3koolid.com 500 piksli laiuses.

Ekraanipilt w3koolid.com 720 piksli laiuses.

Ekraanipilt w3koolid.com 1366 piksli laiuses.

Ekraanipilt w3koolid.com 1920 piksli laius.

Kui võrdlete ekraanipilte, peaksite nägema, et kasutajaliides muutub koos brauseriakna laiusega. Seleniumi ekraanipildi funktsiooni abil saate kiiresti ja hõlpsalt vaadata, kuidas teie veebisait erineva eraldusvõimega ekraanil näeb.

Järeldus

See artikkel näitas teile Seleniumi ning Chrome'i ja Firefoxi veebidraiverite abil ekraanipiltide tegemise põhitõdesid. Artiklis näidati ka, kuidas ekraanipilte teha erineva eraldusvõimega. See peaks aitama teil Seleniumi ekraanipildi funktsiooniga alustama.

10 parimat mängu, mida Ubuntu kaudu mängida
Windowsi platvorm on olnud üks mängude domineerivaid platvorme, kuna tohutu protsent mänge areneb täna Windowsi loomupäraseks toetamiseks. Kas keegi s...
5 parimat arkaadmängu Linuxile
Tänapäeval on arvutid tõsised mängimiseks kasutatavad masinad. Kui te ei saa uut rekordit, teate, mida ma mõtlen. Selles postituses saate teada mõnda ...
Lahing Wesnothi eest 1.13.6 Areng vabastati
Lahing Wesnothi eest 1.13.6 ilmus eelmisel kuul, on 1-s kuues arendusversioon.13.x-seeria ja see pakub mitmeid täiustusi, eelkõige kasutajaliidese ja ...