Bu yazımda sizlere Selenium Python kütüphanesi ile bir sayfayı nasıl yenileyeceğinizi göstereceğim. Öyleyse başlayalım.
Önkoşullar:
Bu makaledeki komutları ve örnekleri denemek için,,
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ü paket.
5) Bilgisayarınızda yüklü olan 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 makalemi okuyun Python 3 ile Selenium'a Giriş Linuxhint'te.com.
LinuxHint'te diğer konularda birçok makale bulabilirsiniz.com. Herhangi bir yardıma ihtiyacınız olursa bunları kontrol ettiğinizden emin olun.
Bir Proje Dizini Ayarlama:
Her şeyi düzenli tutmak için yeni bir proje dizini oluşturun selenyum yenileme/ aşağıdaki gibi:
$ mkdir -pv selenyum yenileme/sürücüler
Şuraya gidin: selenyum yenileme/ proje dizini aşağıdaki gibidir:
$ cd selenyum yenileme/
Proje dizininde aşağıdaki gibi bir Python sanal ortamı oluşturun:
$ sanalenv .venv
Sanal ortamı aşağıdaki gibi etkinleştirin:
$ kaynak .venv/bin/etkinleştir
Selenium Python kitaplığını PIP3 kullanarak aşağıdaki gibi kurun:
$ pip3 selenyum yükleyin
Gerekli tüm web sürücüsünü indirip 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 Linuxİpucu.com o makale için.
Yöntem 1: refresh() Tarayıcı Yöntemini kullanma
İlk yöntem, Selenium ile sayfa yenilemenin en kolay ve önerilen yöntemidir.
Yeni bir Python betiği oluşturun ex01.p aşağıdaki kod satırlarını girin ve içine yazın.
selenyum ithalat web sürücüsündenselenyumdan.web sürücüsü.Yaygın.anahtarları içe aktarma Anahtarları
zamandan içe uyku
seçenekler = web sürücüsü.ChromeOptions()
seçenekler.başsız = Doğru
tarayıcı = web sürücüsü.Chrome(executable_path="./drivers/chromedriver", seçenekler=seçenekler)
tarayıcı.al("https://www.unixtimestamp.com/")
zaman damgası = tarayıcı.find_element_by_xpath("//h3[@class='text-danger'][1]")
print('Geçerli zaman damgası: %s' % (zaman damgası.Metin.bölme(")[0]))
uyku(5)
tarayıcı.yenileme()
zaman damgası = tarayıcı.find_element_by_xpath("//h3[@class='text-danger'][1]")
print('Geçerli zaman damgası: %s' % (zaman damgası.Metin.bölme(")[0]))
tarayıcı.kapat()
İşiniz bittiğinde, kaydedin ex01.p Python betiği.
Satır 1 ve 2, gerekli tüm Selenium bileşenlerini içe aktarır.
Satır 3, uyku () işlevini zaman kitaplığından içe aktarır. Bunu, web sayfasını yeniledikten sonra yeni veriler alabilmemiz için web sayfasının güncellenmesi için birkaç saniye beklemek için kullanacağım.
Satır 5, bir Chrome Seçenekleri nesnesi oluşturur ve satır 6, Chrome web tarayıcısı için başsız modu etkinleştirir.
8. 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 web sitesini unixtimestamp yüklemesini söyler.com.
11. satır, XPath seçiciyi kullanarak sayfadaki zaman damgası verilerine sahip öğeyi bulur ve bunu zaman damgası değişken.
Satır 12, öğeden zaman damgası verilerini ayrıştırır ve konsolda yazdırır.
14. satır şunları kullanır: uyku() 5 saniye bekleme işlevi.
Satır 15, geçerli sayfayı aşağıdakileri kullanarak yeniler tarayıcı.yenileme() yöntem.
Satır 17 ve 18, satır 11 ve 12 ile aynı. Sayfadan zaman damgası öğesini bulur ve güncellenen zaman damgasını konsola yazdırır.
20. satır tarayıcıyı kapatır.
Python betiğini çalıştırın ex01.p aşağıdaki gibi:
$ python3 ex01.p
Gördüğünüz gibi, zaman damgası konsolda yazdırılıyor.
İlk zaman damgasını yazdırdıktan 5 saniye sonra sayfa yenilenir ve aşağıdaki ekran görüntüsünde görebileceğiniz gibi güncellenen zaman damgası konsola yazdırılır.
Yöntem 2: Aynı URL'yi Yeniden Ziyaret Etme
Sayfayı yenilemenin ikinci yöntemi, aynı URL'yi kullanarak yeniden ziyaret etmektir tarayıcı.almak() yöntem.
Python betiği oluşturun ex02.p proje dizininizde ve içine aşağıdaki kod satırlarını yazın.
selenyum ithalat web sürücüsündenselenyumdan.web sürücüsü.Yaygın.anahtarları içe aktarma Anahtarları
zamandan içe uyku
seçenekler = web sürücüsü.ChromeOptions()
seçenekler.başsız = Doğru
tarayıcı = web sürücüsü.Chrome(executable_path="./drivers/chromedriver", seçenekler=seçenekler)
tarayıcı.al("https://www.unixtimestamp.com/")
zaman damgası = tarayıcı.find_element_by_xpath("//h3[@class='text-danger'][1]")
print('Geçerli zaman damgası: %s' % (zaman damgası.Metin.bölme(")[0]))
uyku(5)
tarayıcı.al(tarayıcı.geçerli_url)
zaman damgası = tarayıcı.find_element_by_xpath("//h3[@class='metin-danger'][1]")
print('Geçerli zaman damgası: %s' % (zaman damgası.Metin.bölme(")[0]))
tarayıcı.kapat()
İşiniz bittiğinde, kaydedin ex02.p Python betiği.
Her şey ex01'dekiyle aynı.p. Tek fark 15. satırda.
Burada, kullanıyorum tarayıcı.almak() geçerli sayfa URL'sini ziyaret etme yöntemi. Geçerli sayfa URL'sine şu adres kullanılarak erişilebilir: tarayıcı.current_url Emlak.
Çalıştır ex02.p Python betiği aşağıdaki gibidir:
$ python3 ex02.p
Gördüğünüz gibi, Pythion betiği ex02.p ile aynı türdeki bilgileri yazdırır ex01.p.
Sonuç:
Bu yazımda sizlere Selenium Python kütüphanesini kullanarak mevcut web sayfasını yenilemenin 2 yöntemini gösterdim. Selenium ile artık daha ilginç şeyler yapabilmelisin.