Hur man får den aktuella webbadressen med selen

How Get Current Url With Selenium



Selen är ett verktyg för webbläsartestning, webbautomatik och webbskrapning. När du arbetar med dina Selenium -projekt kan du behöva känna till webbadressen till sidan som din selenstyrda webbläsare visar. Denna information kan vara användbar för att hålla reda på URL: en från vilken du har extraherat vissa data så att du kan uppdatera data automatiskt med hjälp av något skript.

I den här artikeln kommer jag att visa dig hur du får den aktuella webbadressen till webbläsaren med Selenium. Så, låt oss komma igång.







Förkunskaper:

För att prova kommandona och exemplen på den här artikeln måste du ha,



1) En Linux -distribution (helst Ubuntu) installerad på din dator.
2) Python 3 installerat på din dator.
3) PIP 3 installerat på din dator.
4) Python virtualenv paket installerat på din dator.
5) Mozilla Firefox eller Google Chrome webbläsare installerade på din dator.
6) Måste veta hur man installerar Firefox Gecko Driver eller Chrome Web Driver.



För att uppfylla kraven 4, 5 och 6, läs min artikel Introduktion till selen med Python 3 på Linuxhint.com.





Du kan hitta många artiklar om andra ämnen på LinuxHint.com . Var noga med att kolla in dem om du behöver hjälp.

Konfigurera en projektkatalog:

För att hålla allt organiserat, skapa en ny projektkatalog selen-url/ som följer:



$mkdir -pvselen-url/förare

Navigera till selen-url/ projektkatalog enligt följande:

$CDselen-url/

Skapa en virtuell Python -miljö i projektkatalogen enligt följande:

$virtualenv .venv

Aktivera den virtuella miljön enligt följande:

$källa.venv/am/Aktivera

Installera Selenium Python -biblioteket i din virtuella miljö med PIP3 enligt följande:

$ pip3 installera selen

Ladda ner och installera alla nödvändiga webbdrivrutiner i förare/ projektkatalog. Jag har förklarat processen för nedladdning och installation av webbdrivrutiner i min artikel Introduktion till selen med Python 3 . Om du behöver hjälp, sök vidare LinuxHint.com för den artikeln.

Jag kommer att använda webbläsaren Google Chrome för demonstrationen i den här artikeln. Så jag kommer att använda kromförare binärt med selen. Du bör använda geckodriver binär om du vill använda webbläsaren Firefox.

Skapa ett Python -skript ex01.py i din projektkatalog och skriv in följande koderader i den.

frånselenimporterawebbdriver
frånselen.webbdriver.allmänning.nycklar importeraNycklar
alternativ=webbdriver.ChromeOptions()
alternativ.huvudlös = Sann
webbläsare=webbdriver.Krom(körbar_väg='./drivers/chromedriver',alternativ=alternativ)
webbläsare.skaffa sig('https://duckduckgo.com/')
skriva ut(webbläsare.current_url)
webbläsare.stänga()

När du är klar, spara ex01.py Python -skript.

Här importerar rad 1 och rad 2 alla nödvändiga komponenter från Python -selenbiblioteket.

Rad 4 skapar ett Chrome Options -objekt, och rad 5 möjliggör huvudlöst läge för webbläsaren Chrome.

Rad 7 skapar en Chrome webbläsare objekt med hjälp av kromförare binärt från förare/ projektkatalog.

Rad 9 uppmanar webbläsaren att ladda webbplatsen duckduckgo.com.

Rad 10 skriver ut webbläsarens aktuella URL. Här, browser.current_url egenskap används för att komma åt webbläsarens aktuella URL.

Rad 12 stänger webbläsaren.

Kör Python -skriptet ex01.py som följer:

$ python3 ex01.py

Som du kan se är den aktuella webbadressen ( https://duckduckgo.com ) är tryckt på konsolen.

I det tidigare exemplet har jag besökt webbplatsen duckduckgo.com och skrivit ut den aktuella webbadressen på konsolen. Detta returnerar webbadressen till sidan vi besöker. Inte särskilt snyggt eftersom vi redan känner till sidans URL. Nu ska vi leta efter något på DuckDuckGo och försöka skriva ut webbadressen till sökresultatsidan på konsolen.

Skapa ett Python -skript ex02.py i din projektkatalog och skriv in följande koderader i den.

frånselenimporterawebbdriver
frånselen.webbdriver.allmänning.nycklar importeraNycklar
alternativ=webbdriver.ChromeOptions()
alternativ.huvudlös = Sann
webbläsare=webbdriver.Krom(körbar_väg='./drivers/chromedriver',alternativ=alternativ)
webbläsare.skaffa sig('https://duckduckgo.com/')
skriva ut(webbläsare.current_url)
searchInput=webbläsare.hitta_element_by_id('search_form_input_homepage')
searchInput.send_keys('selen hq'+ Nycklar.STIGA PÅ)
skriva ut(webbläsare.current_url)
webbläsare.stänga()

När du är klar, spara ex02.py Python -skript.

Här är raderna 1-10 desamma som i ex01.py . Så jag förklarar dem inte igen.

Rad 12 hittar söktextrutan och lagrar den i searchInput variabel.

Rad 13 skickar sökfrågan selen hq i searchInput textrutan och trycker på nyckel med Keys.ENTER .

När söksidan laddats, browser.current_url används för att komma åt den uppdaterade aktuella webbadressen.

Rad 15 skriver ut den uppdaterade aktuella webbadressen på konsolen.

Rad 17 stänger webbläsaren.

Springa det ex02.py Python -skript enligt följande:

$ python3 ex02.py

Som du kan se, Python -skriptet ex02.py skriver ut 2 webbadresser.

Den första är startsidan för sökmotorn DuckDuckGo.

Den andra är den uppdaterade aktuella webbadressen efter att ha utfört en sökning på DuckDuckGo -sökmotorn med hjälp av frågan selen hq .

Slutsats:

I den här artikeln har jag visat dig hur du får den aktuella webbadressen till webbläsaren med Selenium Python -bibliotek. Nu borde du kunna göra dina selenprojekt mer intressanta.