Selenium ile Geçerli URL Nasıl Alınır?

How Get Current Url With Selenium



Selenium, tarayıcı testi, web otomasyonu ve web kazıma için bir araçtır. Selenium projeleriniz üzerinde çalışırken, Selenium kontrollü web tarayıcınızın görüntülediği sayfanın URL'sini bilmeniz gerekebilir. Bu bilgiler, bazı verileri çıkardığınız URL'yi takip etmek için yararlı olabilir, böylece bir komut dosyası kullanarak verileri otomatik olarak güncelleyebilirsiniz.

Bu yazımda sizlere Selenium ile tarayıcının güncel URL'sini nasıl alacağınızı göstereceğim. Öyleyse başlayalım.







Önkoşullar:

Bu makaledeki komutları ve örnekleri denemek için, sahip olmalısınız,



1) Bilgisayarınızda kurulu bir Linux dağıtımı (tercihen Ubuntu).
2) Bilgisayarınızda yüklü olan Python 3.
3) Bilgisayarınızda yüklü PIP 3.
4) Piton sanal ortam Bilgisayarınızda yüklü olan paket.
5) Bilgisayarınızda yüklü Mozilla Firefox veya Google Chrome web tarayıcıları.
6) Firefox Gecko Sürücüsünün veya Chrome Web Sürücüsünün nasıl kurulacağını bilmeli.



4, 5 ve 6 numaralı gereksinimleri yerine getirmek için lütfen makalemi okuyun Python 3 ile Selenium'a Giriş Linuxhint.com'da .





Diğer konularda birçok makale bulabilirsiniz. LinuxHint.com . Herhangi bir yardıma ihtiyacınız olursa onları kontrol ettiğinizden emin olun.

Bir Proje Dizini Ayarlama:

Her şeyi düzenli tutmak için yeni bir proje dizini oluşturun selenyum-url/ aşağıdaki gibi:



$mkdir -pvselenyum-url/sürücüler

Şuraya gidin: selenyum-url/ proje dizini aşağıdaki gibidir:

$CDselenyum-url/

Proje dizininde aşağıdaki gibi bir Python sanal ortamı oluşturun:

$sanalenv .venv

Sanal ortamı aşağıdaki gibi etkinleştirin:

$kaynak.venv/NS/etkinleştirmek

Selenium Python kitaplığını sanal ortamınıza PIP3 kullanarak aşağıdaki gibi kurun:

$ pip3 selenyum yükleyin

Gerekli tüm web sürücülerini indirin ve yükleyin. sürücüler/ proje dizini. Web sürücüleri indirme ve yükleme işlemini makalemde anlattım. Python 3 ile Selenium'a Giriş . Herhangi bir yardıma ihtiyacınız olursa, arama yapın LinuxHint.com o makale için.

Bu makaledeki gösterim için Google Chrome web tarayıcısını kullanacağım. Yani, kullanacağım krom sürücü Selenyum ile ikili. kullanmalısın geko sürücüsü Firefox web tarayıcısını kullanmak istiyorsanız ikili.

Python betiği oluşturun ex01.py proje dizininizde ve içine aşağıdaki kod satırlarını yazın.

itibarenselenyumiçe aktarmakweb sürücüsü
itibarenselenyum.web sürücüsü.yaygın.anahtarlar içe aktarmakAnahtarlar
seçenekler=web sürücüsü.ChromeSeçenekleri()
seçenekler.başsız = NS
tarayıcı=web sürücüsü.Krom(yürütülebilir_yol='./drivers/chromedriver',seçenekler=seçenekler)
tarayıcı.elde etmek('https://duckduckgo.com/')
Yazdır(tarayıcı.current_url)
tarayıcı.kapat()

İşiniz bittiğinde, kaydedin ex01.py Python komut dosyası.

Burada satır 1 ve satır 2, gerekli tüm bileşenleri Python Selenium kitaplığından içe aktarır.

4. satır, bir Chrome Seçenekleri nesnesi oluşturur ve 5. satır, Chrome web tarayıcısı için başsız modu etkinleştirir.

7. satır bir Chrome oluşturur tarayıcı kullanarak nesne krom sürücü gelen ikili sürücüler/ proje dizini.

9. satır, tarayıcıya duckduckgo.com web sitesini yüklemesini söyler.

Satır 10, tarayıcının geçerli URL'sini yazdırır. Buraya, tarayıcı.current_url özellik, tarayıcının geçerli URL'sine erişmek için kullanılır.

12. satır tarayıcıyı kapatır.

Python betiğini çalıştırın ex01.py aşağıdaki gibi:

$ python3 ex01.p

Gördüğünüz gibi, geçerli URL ( https://duckduckgo.com ) konsolda yazdırılır.

Önceki örnekte, duckduckgo.com web sitesini ziyaret ettim ve mevcut URL'yi konsola yazdırdım. Bu, ziyaret ettiğimiz sayfanın URL'sini döndürür. Sayfa URL'sini zaten bildiğimiz için çok süslü değil. Şimdi DuckDuckGo'da bir şey arayalım ve konsolda arama sonucu sayfasının URL'sini yazdırmaya çalışalım.

Python betiği oluşturun ex02.py proje dizininizde ve içine aşağıdaki kod satırlarını yazın.

itibarenselenyumiçe aktarmakweb sürücüsü
itibarenselenyum.web sürücüsü.yaygın.anahtarlar içe aktarmakAnahtarlar
seçenekler=web sürücüsü.ChromeSeçenekleri()
seçenekler.başsız = NS
tarayıcı=web sürücüsü.Krom(yürütülebilir_yol='./drivers/chromedriver',seçenekler=seçenekler)
tarayıcı.elde etmek('https://duckduckgo.com/')
Yazdır(tarayıcı.current_url)
aramaGirdi=tarayıcı.find_element_by_id('search_form_input_homepage')
aramaGirdi.send_keys('selenyum hq'+ Anahtarlar.GİRMEK)
Yazdır(tarayıcı.current_url)
tarayıcı.kapat()

İşiniz bittiğinde, kaydedin ex02.py Python komut dosyası.

Burada 1-10 arasındaki satırlar aşağıdakilerle aynıdır. ex01.py . O yüzden onları tekrar anlatmıyorum.

Satır 12, arama metin kutusunu bulur ve onu aramaGirdi değişken.

13. satır arama sorgusunu gönderir selenyum hq içinde aramaGirdi metin kutusuna basın ve anahtar kullanarak Anahtarlar.ENTER .

Arama sayfası yüklendiğinde, tarayıcı.current_url güncellenmiş geçerli URL'ye erişmek için kullanılır.

15. satır, güncellenmiş geçerli URL'yi konsolda yazdırır.

17. satır tarayıcıyı kapatır.

Çalıştır ex02.py Python betiği aşağıdaki gibidir:

$ python3 ex02.p

Gördüğünüz gibi, Python betiği ex02.py 2 URL yazdırır.

İlki, DuckDuckGo arama motorunun ana sayfa URL'sidir.

İkincisi, sorguyu kullanarak DuckDuckGo arama motorunda bir arama yaptıktan sonra güncellenen mevcut URL'dir. selenyum hq .

Çözüm:

Bu yazımda sizlere Selenium Python kütüphanesini kullanarak web tarayıcısının güncel URL'sini nasıl alacağınızı gösterdim. Artık Selenium projelerinizi daha ilginç hale getirebilmelisiniz.