Selén

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

Ako získať aktuálnu adresu URL so selénom
Selén je nástroj na testovanie prehľadávačov, automatizáciu webu a škrabanie webu. Pri práci na vašich projektoch so selénom možno budete potrebovať poznať adresu URL stránky, ktorú zobrazuje váš webový prehliadač ovládaný selénom. Tieto informácie môžu byť užitočné na sledovanie adresy URL, z ktorej ste extrahovali nejaké údaje, aby ste mohli byť schopní aktualizovať údaje automaticky pomocou niektorého skriptu.

V tomto článku vám ukážem, ako získať aktuálnu adresu URL prehľadávača so selénom. Takže poďme na to.

Predpoklady:

Ak chcete vyskúšať príkazy a príklady 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) Vo vašom počítači je nainštalovaný program PIP 3.
4) Python virtualenv balík nainštalovaný vo vašom počítači.
5) Vo vašom počítači sú nainštalované webové prehľadávače Mozilla Firefox alebo Google Chrome.
6) Musíte vedieť, ako nainštalovať ovládač Firefox Gecko alebo webový ovládač Chrome.

Pre splnenie požiadaviek 4, 5 a 6 si prečítajte môj článok Úvod do selénu v Pythone 3 v Linuxhint.com.

Mnoho článkov o ďalších témach nájdete na stránkach LinuxHint.com. Ak potrebujete pomoc, nezabudnite ich skontrolovať.

Nastavenie adresára projektu:

Ak chcete mať všetko usporiadané, vytvorte nový adresár projektu selén-url / nasledovne:

$ mkdir -pv selén-url / ovládače

Prejdite na ikonu selén-url / adresár projektu nasledovne:

$ cd selén-url /

Vytvorte virtuálne prostredie Pythonu v adresári projektu takto:

$ virtualenv .venv

Aktivujte virtuálne prostredie nasledovne:

$ zdroj .venv / bin / aktivovať

Knižnicu Selenium Python nainštalujte do svojho virtuálneho prostredia pomocou programu PIP3 nasledovne:

$ pip3 nainštalujte selén

Stiahnite a nainštalujte všetky požadované webové ovládače v priečinku vodiči / adresár projektu. V mojom č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 pomoc, hľadajte ďalej LinuxHint.com pre ten clanok.

Na demonštráciu v tomto článku budem používať webový prehliadač Google Chrome. Takže budem používať chromedriver binárne so selénom. Mali by ste použiť geckodriver binárne, ak chcete používať webový prehliadač Firefox.

Získanie aktuálnej adresy URL so selénom:

Vytvorte skript v jazyku Python ex01.py do adresára projektu a zadajte do neho nasledujúce riadky kódov.

z webového ovládača na selén na import
zo selénu.webdriver.bežné.kľúče na import kľúčov
options = webdriver.ChromeOptions ()
možnosti.bezhlavý = Pravda
prehliadač = webdriver.Chrome (executable_path = "./ drivers / chromedriver ", možnosti = možnosti)
prehliadač.get ("https: // duckduckgo.com / ")
tlač (prehliadač.current_url)
prehliadač.Zavrieť()

Po dokončení uložte súbor ex01.py Skript v jazyku Python.

Sem riadok 1 a riadok 2 importujú všetky požadované komponenty z knižnice selénu Python.

Riadok 4 vytvára objekt Možnosti prehliadača Chrome a riadok 5 umožňuje bezhlavý režim webového prehliadača Chrome.

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

Riadok 9 hovorí prehliadaču, aby načítal duckduckgo.web com.

Na riadku 10 sa vytlačí aktuálna adresa URL prehliadača. Tu, prehliadač.current_url Vlastnosť sa používa na prístup k aktuálnej adrese URL prehľadávača.

Riadok 12 zavrie prehliadač.

Spustite skript v jazyku 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íklade som navštívil web duckduckgo.com a vytlačil aktuálnu adresu URL na konzolu. Týmto sa vráti adresa URL stránky, ktorú sme navštívili. Nie príliš pekné, pretože adresu URL stránky už poznáme. Poďme teraz niečo vyhľadať na DuckDuckGo a pokúsime sa na konzole vytlačiť adresu URL stránky s výsledkami vyhľadávania.

Vytvorte skript v jazyku Python ex02.py do adresára projektu a zadajte do neho nasledujúce riadky kódov.

z webového ovládača na selén na import
zo selénu.webdriver.bežné.kľúče na import kľúčov
options = webdriver.ChromeOptions ()
možnosti.bezhlavý = Pravda
prehliadač = webdriver.Chrome (executable_path = "./ drivers / chromedriver ", možnosti = možnosti)
prehliadač.get ("https: // duckduckgo.com / ")
tlač (prehliadač.current_url)
searchInput = prehliadač.find_element_by_id ('search_form_input_homepage')
searchInput.send_keys ('selenium hq' + kľúče.ENTER)
tlač (prehliadač.current_url)
prehliadač.Zavrieť()

Po dokončení uložte súbor ex02.py Skript v jazyku Python.

Tu sú riadky 1-10 rovnaké ako v ex01.py. Takže ich už znova nevysvetľujem.

Riadok 12 vyhľadá textové pole vyhľadávania a uloží ho do priečinka searchInput premenná.

Riadok 13 odošle vyhľadávací dopyt selén hq v searchInput textové pole a stlačí kláves pomocou Kľúče.VSTÚPTE.

Po načítaní vyhľadávacej stránky, prehliadač.current_url sa používa na prístup k aktualizovanej aktuálnej adrese URL.

Riadok 15 vytlačí aktualizovanú aktuálnu adresu URL v konzole.

Riadok 17 zavrie prehliadač.

Spustiť ex02.py Skript v jazyku Python takto:

$ python3 ex02.py

Ako vidíte, skript v jazyku Python ex02.py vypíše 2 adresy URL.

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

Druhou z nich je aktualizovaná aktuálna adresa URL po vykonaní vyhľadávania vo vyhľadávacom stroji DuckDuckGo pomocou dotazu 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 selénové projekty zaujímavejšími.

Hry Ako používať AutoKey na automatizáciu hier pre Linux
Ako používať AutoKey na automatizáciu hier pre Linux
AutoKey je obslužný program na automatizáciu stolných počítačov pre systémy Linux a X11, programovaný v programoch Python 3, GTK a Qt. Pomocou jeho fu...
Hry Ako zobraziť počítadlo FPS v hrách Linux
Ako zobraziť počítadlo FPS v hrách Linux
Hranie na systéme Linux získalo veľký tlak, keď spoločnosť Valve v roku 2012 oznámila podporu systému Linux pre klienta Steam a ich hry. Od tej doby s...
Hry Ako sťahovať a prehrávať Sid Meier's Civilization VI v systéme Linux
Ako sťahovať a prehrávať Sid Meier's Civilization VI v systéme Linux
Úvod do hry Civilization 6 predstavuje moderné poňatie klasického konceptu predstaveného v sérii hier Age of Empires. Myšlienka bola dosť jednoduchá; ...