Selenium

Kako napraviti snimku zaslona pomoću selena

Kako napraviti snimku zaslona pomoću selena
Selen je izvrstan alat za testiranje preglednika, automatizaciju weba i struganje weba. Možete koristiti i Selenium za snimanje zaslona vaše web stranice. Ovo je vrlo važno za testiranje korisničkog sučelja (UI) vašeg web mjesta na različitim web preglednicima.

Različiti web preglednici koriste različite mehanizme prikazivanja za generiranje web stranica. Dakle, isti kôd sučelja možda se neće prikazati na isti način u svim web preglednicima. Da biste riješili ovaj problem, možda ćete trebati dodati neke internetske kodove specifične za preglednik na svoje web mjesto. Međutim, to nije jedini teški dio prilikom dizajniranja web mjesta kompatibilnog s različitim preglednicima i uređajima. Ručna provjera izgleda web stranice u svakom od vaših ciljanih preglednika može potrajati. Morali biste otvoriti sve ciljane web preglednike, posjetiti web stranicu, pričekati učitavanje stranice i međusobno usporediti prikazane stranice. Da biste uštedjeli vrijeme, značajku zaslona Selenium možete koristiti za automatsko snimanje zaslona vašeg web mjesta u svakom od ciljanih preglednika i usporedbu slika sami. To je mnogo brže od ručne metode. Ovaj će vam članak pokazati kako napraviti snimke zaslona prozora preglednika pomoću programa Selenium.

Preduvjeti

Da biste isprobali naredbe i primjere razmotrene u ovom članku, morate imati:

1) Linux distribucija (po mogućnosti Ubuntu) instalirana na vašem računalu.
2) Python 3 instaliran na vašem računalu.
3) PIP 3 instaliran na vašem računalu.
4) Python paket virtualenv instaliran na vašem računalu.
5) Mozilla Firefox i Google Chrome web preglednici instalirani na vašem računalu.
6) Znanje o tome kako instalirati Firefox Gecko Driver i Chrome Web Driver na vaš sustav.

Da biste ispunili zahtjeve 4, 5 i 6, možete pročitati moj članak Uvod u selenij s Pythonom 3 na Linuxhintu.com.

Mnogo drugih članaka o potrebnim temama možete pronaći na LinuxHintu.com. Svakako provjerite ove članke ako vam treba dodatna pomoć.

Postavljanje direktorija projekata

Da biste sve organizirali, izradite novi direktorij projekta snimak zaslona selena /, kako slijedi:

$ mkdir -pv selenium-screenshot / slike, upravljački programi

Idite na snimak zaslona selena / direktorij projekta, kako slijedi:

$ cd selenium-snimka zaslona /

Stvorite Python virtualno okruženje u direktoriju projekta, kako slijedi:

$ virtualenv .venv

Aktivirajte virtualno okruženje, kako slijedi:

$ izvor .venv / bin / aktivirati

Instalirajte selen pomoću PIP3, kako slijedi:

$ pip3 instaliraj selen

Preuzmite i instalirajte potrebni web upravljački program u vozači / direktorij projekta. U članku sam objasnio postupak preuzimanja i instaliranja web upravljačkih programa Uvod u selenij s Pythonom 3. Ako trebate pomoć u vezi s ovom temom, pretražite LinuxHint.com za ovaj članak.

Osnove snimanja zaslona selenom

Ovaj će vam odjeljak dati vrlo jednostavan primjer snimanja snimaka zaslona preglednika pomoću programa Selenium.

Prvo stvorite novu Python skriptu ex01_google-krom.py i u skriptu upišite sljedeće retke kodova.

s selena za uvoz webdrivera
od selena.mrežni pogonitelj.uobičajen.tipke uvoz ključeva
googleChromeOptions = webdriver.krom.mogućnosti.Opcije ()
googleChromeOptions.bez glave = Istina
googleChromeOptions.add_argument ('- veličina prozora = 1280,720')
googleChrome = webdriver.Chrome (izvršna_puta = "./ vozači / chromedriver ",
options = googleChromeOptions)
pageUrl = "https: // www.w3škole.com ";
googleChrome.dobiti (pageUrl)
googleChrome.save_screenshot ('images / w3schools_google-chrome.png ')
googleChrome.Zatvoriti()

Nakon što završite, spremite ex01_google-krom.py Python skripta.

Redak 4 stvara Opcije objekt za web preglednik Google Chrome.

Linija 5 omogućuje način bez glave za Google Chrome.

Redak 6 postavlja veličinu prozora na 1280 × 720 piksela.

Redak 8 stvara objekt preglednika pomoću upravljačkog programa Chrome i pohranjuje ga u googleChrome varijabilna.

Redak 10 definira a pageUrl varijabilna. The pageUrl varijabla sadrži URL web stranice koju će Selenium snimiti na zaslon.

Linija 11 učitava pageUrl u pregledniku.

Linija 12 koristi snimka zaslona () metoda spremanja snimke zaslona prozora preglednika u datoteku w3schools_google-chrome.png u slike / direktorij projekta.

Konačno, redak 14 zatvara preglednik.

Zatim pokrenite ex01_google-krom.py Python skripta, kako slijedi:

$ python3 ex01_google-chrome.py

Nakon uspješnog izvršavanja skripte, snimka zaslona bit će spremljena u datoteku slike w3schools_google-chrome.png u slike / direktorij projekta, kao što možete vidjeti na snimci zaslona u nastavku.

Da biste napravili snimku zaslona iste web stranice, ali u web pregledniku Firefox, stvorite novu Python skriptu ex01_firefox.py i u skriptu upišite sljedeće retke kodova.

s selena za uvoz webdrivera
od selena.mrežni pogonitelj.uobičajen.tipke uvoz ključeva
firefoxOptions = webdriver.krijesnica.mogućnosti.Opcije ()
firefoxOptions.bez glave = Istina
firefoxOptions.dodaj_argument ('- širina = 1280')
firefoxOptions.add_argument ('- visina = 720')
firefox = web pogonitelj.Firefox (izvršna_puta = "./ drivers / geckodriver ", options = firefoxOptions)
pageUrl = "https: // www.w3škole.com ";
krijesnica.dobiti (pageUrl)
krijesnica.save_screenshot ('slike / w3schools_firefox.png ')
krijesnica.Zatvoriti()

Nakon što završite, spremite ex01_firefox.py Python skripta.

Redak 4 stvara Opcije objekt za web preglednik Firefox.

Linija 5 omogućuje način bez glave za Firefox.

Redak 6 postavlja širinu prozora preglednika na 1280 piksela, a redak 7 postavlja visinu prozora preglednika na 720 piksela.

Redak 9 stvara objekt preglednika pomoću upravljačkog programa Firefox Gecko i sprema ga u krijesnica varijabilna.

Redak 11 definira a pageUrl varijabilna. The pageUrl varijabla sadrži URL web stranice koju će Selenium snimiti na zaslon.

Linija 13 učitava pageUrl na pregledniku.

Redak 14 koristi snimka zaslona () metoda spremanja snimke zaslona prozora preglednika u datoteku w3schools_firefox.png u slike / direktorij projekta.

Konačno, linija 15 zatvara preglednik.

Zatim pokrenite ex01_firefox.py Python skripta, kako slijedi:

$ python3 ex01_firefox.py

Nakon uspješnog izvršavanja skripte, snimka zaslona trebala bi se spremiti u datoteku slike w3schools_firefox.png u slike / direktorij projekta, kao što možete vidjeti na snimci zaslona u nastavku.

Snimanje zaslona različitih razlučivosti zaslona

Ovaj će vam odjeljak pokazati kako napraviti snimke zaslona iste web stranice u različitim razlučivostima zaslona. U ovom ću odjeljku koristiti web preglednik Google Chrome, ali za ovaj odjeljak možete koristiti Firefox ili bilo koji drugi preglednik.

Prvo stvorite novu Python skriptu ex02.py i u skriptu upišite sljedeće retke koda.

s selena za uvoz webdrivera
od selena.mrežni pogonitelj.uobičajen.tipke uvoz ključeva
pageUrl = "https: // www.w3škole.com / ";
rezolucije = ['320,1080', '500,1080', '720,1080', '1366,1080', '1920,1080']
za rezoluciju u rezolucijama:
print ("Izrada snimke zaslona u razlučivosti% s ..."% (razlučivost.zamijeniti (',', 'x')))
chromeOptions = webdriver.ChromeOptions ()
chromeOptions.bez glave = Istina
chromeOptions.add_argument ('- size-window =' + razlučivost)
chrome = webdriver.Chrome (izvršna_puta = "./ drivers / chromedriver ", options = chromeOptions)
krom.dobiti (pageUrl)
outputImage = 'images / homepage_chrome_' + razlučivost.zamijeniti (',', '_') + '.PNG
krom.snimka zaslona (outputImage)
krom.Zatvoriti()
print ('Spremljeno u% s.'% (outputImage))

Nakon što završite, spremite ex02.py Python skripta.

Redak 4 definira a pageUrl varijabla koja sadrži URL web stranice Želio bih napraviti snimke zaslona u različitim rezolucijama zaslona.

Redak 5 definira a rezolucije popis koji sadrži popis rezolucija s kojih bih želio napraviti snimke zaslona.

Linija 7 ponavlja kroz svaki od razlučivosts u rezolucije popis.

Unutar petlje, linija 8 ispisuje značajnu poruku na konzoli.

Linije 10-15 stvaraju objekt preglednika pomoću razlučivost trenutne iteracije petlje i pohranjuje je u krom varijabilna.

Linija 17 učitava pageUrl u pregledniku.

Linija 19 generira put slike, gdje će se snimka zaslona spremiti, i pohranjuje sliku u outputImage varijabilna.

Redak 20 snima snimak zaslona prozora preglednika i sprema ga u stazu outputImage.

Redak 21 zatvara preglednik.

Redak 22 ispisuje značajnu poruku na konzoli i završava petlju.

Zatim, petlja ponovno započinje sa sljedećom razlučivosti zaslona (tj.e., sljedeća stavka popisa).

Zatim pokrenite ex02.py Python skripta, kako slijedi:

$ python3 ex02.py

Python skripta ex02.py treba napraviti snimke zaslona datog URL-a u svakoj od odabranih rezolucija zaslona.

Snimka zaslona w3škole.com u širini od 320 piksela.

Snimka zaslona w3škole.com u širini od 500 piksela.

Snimka zaslona w3škole.com u širini od 720 piksela.

Snimka zaslona w3škole.com u širini od 1366 piksela.

Snimka zaslona w3škole.com u širini od 1920 piksela.

Ako usporedite snimke zaslona, ​​trebali biste vidjeti da se korisničko sučelje mijenja sa širinom prozora preglednika. Pomoću značajke zaslona zaslona Selenium možete vidjeti kako vaša web stranica izgleda na različitim razlučivostima zaslona brzo i jednostavno.

Zaključak

Ovaj vam je članak pokazao neke od osnova snimanja zaslona pomoću selena te upravljačkih programa Chrome i Firefox. Članak vam je također pokazao kako napraviti snimke zaslona u različitim rezolucijama zaslona. To bi vam trebalo pomoći da započnete sa značajkom zaslona Selenium.

Besplatni i otvoreni kodni pokretački programi za razvoj Linux igara
Ovaj će članak pokriti popis besplatnih i open source pokretačkih igara koje se mogu koristiti za razvoj 2D i 3D igara na Linuxu. Brojni su takvi moto...
Vodič za Shadow of the Tomb Raider za Linux
Shadow of the Tomb Raider dvanaesti je dodatak seriji Tomb Raider - franšizi u akcijsko-avanturističkoj igri koju je stvorio Eidos Montreal. I kritiča...
Kako pojačati FPS u Linuxu?
FPS je kratica Okviri u sekundi. Zadatak FPS-a je mjerenje broja sličica u reprodukcijama video zapisa ili igranim izvedbama. Jednostavnim riječima, b...