Ako získať aktuálnu adresu URL so selénom

How Get Current Url With Selenium



Selenium je nástroj na testovanie prehliadača, automatizáciu webu a zoškrabovanie webu. Pri práci na svojich projektoch selénu možno budete potrebovať vedieť adresu URL stránky, ktorú zobrazuje váš webový prehliadač riadený selénom. Tieto informácie môžu byť užitočné na sledovanie adresy URL, z ktorej ste extrahovali niektoré údaje, aby ste mohli údaje automaticky aktualizovať pomocou nejakého skriptu.

V tomto článku vám ukážem, ako získať aktuálnu adresu URL prehliadača pomocou selénu. Začnime teda.







Predpoklady:

Na vyskúšanie príkazov a príkladov tohto článku musíte mať:



1) Vo vašom počítači je nainštalovaná distribúcia Linuxu (najlepšie Ubuntu).
2) Vo vašom počítači je nainštalovaný Python 3.
3) PIP 3 nainštalovaný vo vašom počítači.
4) Python virtualenv balík nainštalovaný vo vašom počítači.
5) Webové prehliadače Mozilla Firefox alebo Google Chrome nainštalované vo vašom počítači.
6) Musíte vedieť, ako nainštalovať ovládač Firefox Gecko alebo Chrome Web Driver.



Ak chcete splniť požiadavky 4, 5 a 6, prečítajte si môj článok Úvod do selénu v Pythone 3 na Linuxhint.com.





Môžete nájsť mnoho článkov na ďalšie témy LinuxHint.com . Nezabudnite ich skontrolovať, ak potrebujete pomoc.

Nastavenie adresára projektu:

Aby bolo všetko v poriadku, vytvorte nový adresár projektu adresa selénu/ nasledovne:



$mkdir -pvselén-url/vodiči

Prejdite na adresa selénu/ adresár projektu takto:

$CDselén-url/

Vytvorte virtuálne prostredie Python v adresári projektu nasledovne:

$virtualenv .venv

Virtuálne prostredie aktivujte nasledovne:

$zdroj.venv/dopoludnia/Aktivovať

Nainštalujte knižnicu Selenium Python do svojho virtuálneho prostredia pomocou PIP3 nasledovne:

$ pip3 nainštalujte selén

Stiahnite si a nainštalujte všetky požadované webové ovládače do súboru vodiči/ adresár projektu. V článku som vysvetlil proces sťahovania a inštalácie webových ovládačov Úvod do selénu v Pythone 3 . Ak potrebujete akúkoľvek pomoc, hľadajte ďalej LinuxHint.com za ten článok.

Na ukážku v tomto článku použijem webový prehliadač Google Chrome. Budem teda používať chromedriver binárne so selénom. Mali by ste použiť vodič gekona binárne, ak chcete používať webový prehliadač Firefox.

Vytvorte skript Pythonu ex01.py v adresári projektu a zadajte doň nasledujúce riadky kódov.

odselénimportwebdriver
odselén.webdriver.spoločný.kľúče importKľúče
možnosti=webdriver.Možnosti Chrome()
možnosti.bezhlavý = Pravda
prehliadač=webdriver.Chrome(spustiteľná_cesta=„./drivers/chromedriver“,možnosti=možnosti)
prehliadač.dostať('https://duckduckgo.com/')
vytlačiť(prehliadač.current_url)
prehliadač.Zavrieť()

Keď skončíte, uložte súbor ex01.py Skript Python.

Tu riadok 1 a riadok 2 importujú všetky požadované komponenty z selénovej knižnice Pythonu.

Riadok 4 vytvára objekt Možnosti prehliadača Chrome a riadok 5 umožňuje režim bez hlavy pre webový prehliadač Chrome.

Riadok 7 vytvára prehliadač Chrome prehliadač objekt pomocou chromedriver binárne z vodiči/ adresár projektu.

Riadok 9 hovorí prehliadaču, aby načítal webovú stránku duckduckgo.com.

Riadok 10 vytlačí aktuálnu adresu URL prehliadača. Tu, browser.current_url Táto vlastnosť sa používa na prístup k aktuálnej adrese URL prehliadača.

Riadok 12 zatvorí prehliadač.

Spustite skript Python ex01.py nasledovne:

$ python3 ex01.py

Ako vidíte, aktuálna adresa URL ( https://duckduckgo.com ) je vytlačený na konzole.

V predchádzajúcom prípade som navštívil webovú stránku duckduckgo.com a vytlačil aktuálnu adresu URL na konzolu. Tým sa vráti adresa URL stránky, ktorú navštevujeme. Nie je to veľmi efektné, pretože už poznáme adresu URL stránky. Teraz niečo nájdeme na DuckDuckGo a pokúsime sa vytlačiť adresu URL stránky s výsledkami vyhľadávania v konzole.

Vytvorte skript Pythonu ex02.py v adresári projektu a zadajte doň nasledujúce riadky kódov.

odselénimportwebdriver
odselén.webdriver.spoločný.kľúče importKľúče
možnosti=webdriver.Možnosti Chrome()
možnosti.bezhlavý = Pravda
prehliadač=webdriver.Chrome(spustiteľná_cesta=„./drivers/chromedriver“,možnosti=možnosti)
prehliadač.dostať('https://duckduckgo.com/')
vytlačiť(prehliadač.current_url)
searchInput=prehliadač.find_element_by_id('search_form_input_homepage')
searchInput.send_keys(„selén hq“+ Kľúče.VSTÚPIŤ)
vytlačiť(prehliadač.current_url)
prehliadač.Zavrieť()

Keď skončíte, uložte súbor ex02.py Skript Python.

Tu sú riadky 1-10 rovnaké ako v ex01.py . Preto ich znova nevysvetľujem.

Riadok 12 nájde textové pole vyhľadávania a uloží ho do súboru searchInput premenná.

Riadok 13 odošle vyhľadávací dotaz selén hq v searchInput textové pole a stlačí kľúč pomocou Kľúče.ENTER .

Po načítaní stránky vyhľadávania sa browser.current_url slúži na prístup k aktualizovanej aktuálnej URL.

Riadok 15 vytlačí aktualizovanú aktuálnu adresu URL na konzolu.

Riadok 17 zatvorí prehliadač.

Spustite súbor ex02.py Skript Python takto:

$ python3 ex02.py

Ako vidíte, skript Python ex02.py vytlačí 2 adresy URL.

Prvým z nich je adresa URL domovskej stránky vyhľadávacieho nástroja DuckDuckGo.

Druhým je aktualizovaná aktuálna adresa URL po vykonaní vyhľadávania vo vyhľadávacom nástroji DuckDuckGo pomocou dopytu selén hq .

Záver:

V tomto článku som vám ukázal, ako získať aktuálnu adresu URL webového prehliadača pomocou knižnice Selenium Python. Teraz by ste mali byť schopní urobiť svoje projekty selénu zaujímavejšie.