Selenium

Cum să obțineți adresa URL actuală cu seleniu

Cum să obțineți adresa URL actuală cu seleniu
Seleniul este un instrument pentru testarea browserului, automatizarea web și răzuirea web. În timp ce lucrați la proiectele dvs. Selenium, poate fi necesar să știți adresa URL a paginii pe care browserul dvs. web controlat de Selenium o afișează. Aceste informații pot fi utile pentru a urmări adresa URL de unde ați extras unele date, astfel încât să puteți actualiza datele automat folosind un anumit script.

În acest articol, vă voi arăta cum să obțineți adresa URL actuală a browserului cu Selenium. Asadar, haideti sa începem.

Condiții preliminare:

Pentru a încerca comenzile și exemplele acestui articol, trebuie să aveți,

1) O distribuție Linux (de preferință Ubuntu) instalată pe computer.
2) Python 3 instalat pe computer.
3) PIP 3 instalat pe computer.
4) Python virtualenv pachetul instalat pe computer.
5) Browsere web Mozilla Firefox sau Google Chrome instalate pe computer.
6) Trebuie să știți cum să instalați driverul Firefox Gecko sau driverul web Chrome.

Pentru îndeplinirea cerințelor 4, 5 și 6, vă rugăm să citiți articolul meu Introducere în Seleniu cu Python 3 la Linuxhint.com.

Puteți găsi multe articole despre celelalte subiecte pe LinuxHint.com. Asigurați-vă că le verificați dacă aveți nevoie de asistență.

Configurarea unui director de proiect:

Pentru a menține totul organizat, creați un nou director de proiect seleniu-url / după cum urmează:

$ mkdir -pv selenium-url / drivers

Navigați la seleniu-url / directorul proiectului după cum urmează:

$ cd seleniu-url /

Creați un mediu virtual Python în directorul proiectului după cum urmează:

$ virtualenv .venv

Activați mediul virtual după cum urmează:

$ sursa .venv / bin / activate

Instalați biblioteca Selenium Python în mediul dvs. virtual folosind PIP3 după cum urmează:

$ pip3 instalează seleniu

Descărcați și instalați toți driverele web necesare în drivere / directorul proiectului. Am explicat procesul de descărcare și instalare a driverelor web în articolul meu Introducere în Seleniu cu Python 3. Dacă aveți nevoie de asistență, căutați pe LinuxHint.com pentru articolul respectiv.

Voi folosi browserul web Google Chrome pentru demonstrația din acest articol. Deci, voi folosi râu cromat binar cu Seleniu. Ar trebui să utilizați geckodriver binar dacă doriți să utilizați browserul web Firefox.

Obținerea URL-ului curent cu Selenium:

Creați un script Python ex01.py în directorul proiectului dvs. și introduceți următoarele linii de coduri în el.

de la selector de import webdriver
din seleniu.webdriver.uzual.import chei Chei
opțiuni = webdriver.ChromeOptions ()
Opțiuni.fără cap = Adevărat
browser = webdriver.Chrome (executable_path = "./ drivers / chromedriver ", options = options)
browser.get ("https: // duckduckgo.com / ")
print (browser.curent_url)
browser.închide()

Odată ce ați terminat, salvați ex01.py Script Python.

Aici, linia 1 și linia 2 importă toate componentele necesare din biblioteca Python selenium.

Linia 4 creează un obiect Opțiuni Chrome, iar linia 5 activează modul fără cap pentru browserul web Chrome.

Linia 7 creează un Chrome browser obiect folosind râu cromat binar din drivere / directorul proiectului.

Linia 9 spune browserului să încarce duckduckgo.site-ul com.

Linia 10 imprimă adresa URL actuală a browserului. Aici, browser.curent_url proprietatea este utilizată pentru a accesa adresa URL curentă a browserului.

Linia 12 închide browserul.

Rulați scriptul Python ex01.py după cum urmează:

$ python3 ex01.py

După cum puteți vedea, adresa URL curentă (https: // duckduckgo.com) este tipărit pe consolă.

În exemplul anterior, am vizitat site-ul web duckduckgo.com și a tipărit adresa URL curentă pe consolă. Aceasta returnează adresa URL a paginii pe care o vizităm. Nu prea elegant, deoarece știm deja adresa URL a paginii. Acum, să căutăm ceva pe DuckDuckGo și să încercăm să imprimăm URL-ul paginii cu rezultatele căutării pe consolă.

Creați un script Python ex02.py în directorul proiectului dvs. și introduceți următoarele linii de coduri în el.

de la selector de import webdriver
din seleniu.webdriver.uzual.import chei Chei
opțiuni = webdriver.ChromeOptions ()
Opțiuni.fără cap = Adevărat
browser = webdriver.Chrome (executable_path = "./ drivers / chromedriver ", options = options)
browser.get ("https: // duckduckgo.com / ")
print (browser.curent_url)
searchInput = browser.find_element_by_id ('search_form_input_homepage')
searchInput.send_keys ('seleniu hq' + Chei.INTRODUCE)
print (browser.curent_url)
browser.închide()

Odată ce ați terminat, salvați ex02.py Script Python.

Aici, liniile 1-10 sunt aceleași ca în ex01.py. Deci, nu le explic din nou.

Linia 12 găsește caseta de text de căutare și o stochează în searchInput variabil.

Linia 13 trimite interogarea de căutare seleniu hq în searchInput casetă text și apasă pe folosind tasta Taste.INTRODUCE.

Odată ce pagina de căutare se încarcă, browser.curent_url este utilizat pentru a accesa adresa URL actualizată curentă.

Linia 15 imprimă adresa URL actualizată actualizată pe consolă.

Linia 17 închide browserul.

Rulați ex02.py Script Python după cum urmează:

$ python3 ex02.py

După cum puteți vedea, scriptul Python ex02.py tipărește 2 adrese URL.

Primul este adresa URL a paginii de pornire a motorului de căutare DuckDuckGo.

Al doilea este URL-ul actual actualizat după efectuarea unei căutări pe motorul de căutare DuckDuckGo utilizând interogarea seleniu hq.

Concluzie:

În acest articol, v-am arătat cum să obțineți adresa URL curentă a browserului web utilizând biblioteca Selenium Python. Acum, ar trebui să puteți face proiectele dvs. Selenium mai interesante.

How to Install and Play Doom on Linux
Introduction to Doom The Doom Series originated in the 90s after the release of the original Doom. It was an instant hit and from that time onwards th...
Vulkan for Linux Users
With each new generation of graphics cards, we see game developers push the limits of graphical fidelity and come one step closer to photorealism. But...
OpenTTD vs Simutrans
Creating your own transport simulation can be fun, relaxing and extremely enticing. That's why you need to make sure that you try out as many games as...