Jak získat aktuální URL pomocí selenu

How Get Current Url With Selenium



Selenium je nástroj pro testování prohlížeče, automatizaci webu a škrábání webu. Při práci na projektech selenu možná budete potřebovat znát adresu URL stránky, kterou váš webový prohlížeč ovládaný selenem zobrazuje. Tyto informace mohou být užitečné pro sledování adresy URL, odkud jste extrahovali některá data, abyste mohli data automaticky aktualizovat pomocí nějakého skriptu.

V tomto článku vám ukážu, jak pomocí Selenu získat aktuální adresu URL prohlížeče. Začněme tedy.







Předpoklady:

K vyzkoušení příkazů a příkladů tohoto článku musíte mít,



1) Distribuce Linuxu (nejlépe Ubuntu) nainstalovaná ve vašem počítači.
2) Ve vašem počítači je nainstalován Python 3.
3) V počítači je nainstalován PIP 3.
4) Python virtualenv balíček nainstalovaný ve vašem počítači.
5) Ve vašem počítači jsou nainstalovány webové prohlížeče Mozilla Firefox nebo Google Chrome.
6) Musíte vědět, jak nainstalovat ovladač Firefox Gecko nebo Chrome Web Driver.



Chcete -li splnit požadavky 4, 5 a 6, přečtěte si můj článek Úvod do selenu s Pythonem 3 na Linuxhint.com.





Můžete najít mnoho článků na jiná témata LinuxHint.com . Pokud potřebujete pomoc, nezapomeňte je zkontrolovat.

Nastavení adresáře projektu:

Aby bylo vše organizované, vytvořte nový adresář projektu selen-url/ jak následuje:



$mkdir -pvselen-url/Řidiči

Přejděte na selen-url/ adresář projektu takto:

$CDselen-url/

Vytvořte virtuální prostředí Pythonu v adresáři projektu následujícím způsobem:

$virtualenv .venv

Virtuální prostředí aktivujte následovně:

$zdroj.venv/dopoledne/aktivovat

Nainstalujte si knihovnu Selenium Python do virtuálního prostředí pomocí PIP3 následovně:

$ pip3 nainstalujte selen

Stáhněte a nainstalujte všechny požadované webové ovladače do souboru Řidiči/ adresář projektu. Ve svém článku jsem vysvětlil proces stahování a instalace webových ovladačů Úvod do selenu s Pythonem 3 . Pokud potřebujete pomoc, hledejte dál LinuxHint.com za ten článek.

K ukázce v tomto článku použiji webový prohlížeč Google Chrome. Takže budu používat chromedriver binární se selenem. Měli byste použít řidič gekona binární, pokud chcete používat webový prohlížeč Firefox.

Vytvořte skript Pythonu ex01.py v adresáři projektu a zadejte do něj následující řádky kódů.

zselenimportwebový ovladač
zselen.webový ovladač.běžný.klíče importKlíče
možnosti=webový ovladač.Možnosti Chrome()
možnosti.bezhlavý = Skutečný
prohlížeč=webový ovladač.Chrome(spustitelná_cesta='./drivers/chromedriver',možnosti=možnosti)
prohlížeč.dostat('https://duckduckgo.com/')
tisk(prohlížeč.aktuální_url)
prohlížeč.zavřít()

Jakmile budete hotovi, uložte ex01.py Python skript.

Zde řádek 1 a řádek 2 importují všechny požadované komponenty z selenové knihovny Python.

Řádek 4 vytváří objekt Možnosti Chrome a řádek 5 umožňuje bezhlavý režim pro webový prohlížeč Chrome.

Řádek 7 vytvoří Chrome prohlížeč objekt pomocí chromedriver binární z Řidiči/ adresář projektu.

Řádek 9 říká prohlížeči, aby načíst web duckduckgo.com.

Řádek 10 vytiskne aktuální adresu URL prohlížeče. Tady, browser.current_url vlastnost se používá k přístupu k aktuální adrese URL prohlížeče.

Řádek 12 zavře prohlížeč.

Spusťte skript Python ex01.py jak následuje:

$ python3 ex01.py

Jak vidíte, aktuální URL ( https://duckduckgo.com ) je vytištěn na konzole.

V předchozím příkladu jsem navštívil web duckduckgo.com a vytiskl aktuální URL na konzolu. Tím se vrátí adresa URL stránky, kterou navštěvujeme. Není příliš fantastické, protože již známe adresu URL stránky. Nyní něco vyhledejme na DuckDuckGo a zkusme na konzole vytisknout URL stránky s výsledky vyhledávání.

Vytvořte skript Pythonu ex02.py v adresáři projektu a zadejte do něj následující řádky kódů.

zselenimportwebový ovladač
zselen.webový ovladač.běžný.klíče importKlíče
možnosti=webový ovladač.Možnosti Chrome()
možnosti.bezhlavý = Skutečný
prohlížeč=webový ovladač.Chrome(spustitelná_cesta='./drivers/chromedriver',možnosti=možnosti)
prohlížeč.dostat('https://duckduckgo.com/')
tisk(prohlížeč.aktuální_url)
searchInput=prohlížeč.find_element_by_id('search_form_input_homepage')
searchInput.send_keys('selen hq'+ Klíče.VSTUP)
tisk(prohlížeč.aktuální_url)
prohlížeč.zavřít()

Jakmile budete hotovi, uložte ex02.py Python skript.

Zde jsou řádky 1-10 stejné jako v ex01.py . Takže je znovu nevysvětluji.

Řádek 12 najde vyhledávací textové pole a uloží jej do souboru searchInput proměnná.

Řádek 13 odešle vyhledávací dotaz selen hq v searchInput textové pole a stiskne klíč pomocí Klíče .

Jakmile se stránka vyhledávání načte, browser.current_url slouží k přístupu k aktualizované aktuální adrese URL.

Řádek 15 vytiskne aktualizovanou aktuální adresu URL na konzole.

Řádek 17 zavírá prohlížeč.

Spusťte ex02.py Python skript následovně:

$ python3 ex02.py

Jak vidíte, skript Python ex02.py vytiskne 2 adresy URL.

První z nich je adresa URL domovské stránky vyhledávače DuckDuckGo.

Druhým je aktualizovaná aktuální adresa URL po provedení vyhledávání ve vyhledávači DuckDuckGo pomocí dotazu selen hq .

Závěr:

V tomto článku jsem vám ukázal, jak pomocí knihovny Selenium Python získat aktuální adresu URL webového prohlížeče. Nyní byste měli být schopni učinit své projekty selenu zajímavějšími.