Selenium
Last updated
Was this helpful?
Last updated
Was this helpful?
Selenium'un python dokümantasyonu için bakabilirsin
İtici bir dokümantasyon arıyorsan bakabilirsin 😒
Python dili ve Chromedriver baz alınmıştır.
Selenium tarayıcı driver'ı kullanarak çalışmaktadır
ChromeDriver'ı indirin
ChromeDriver'ınızı uygun bir konuma koyun, ileride yol verisi selenium'a aktarılacaktır
Projenizin içerisinde
utils
dizini açıp içinechromedriver
adlı dosyayı atabilirsiniz, ileride bu şekilde değerlendirilecektir
Selenium için özel ortam oluştururak kurulum yapmak daha sağlıklıdır.
Kurulum sonrasında ortamı
conda activate selenium
ile aktif etmeyi unutmayın.
Selenium aracı chrome üzerinde çeşitli özelliklerle çalışabilmekte (örn: arayüz olmadan, sessizce çalışabilir)
Chromedriver öğesini oluşturmak için alttaki yapıyı kullanmak zorundayız:
Tüm işlemleri oluşturduğumuz
driver
objesi ile yapmaktayız.
<chromedriver_yolu>
Chromedriver dosyasının yolu
Örn: "utils/chromedriver"
<ek_ayarlar>
Ek yapılandırma ayarları (İsteğe bağlı)
Örn: Yukarıdaki alanda tanımlanan options
objesi
<URL>
Girmek istediğimiz sitenin adresi
Örn: "www.yemreak.com"
Kullanım şekli driver.<eleman_bulma_metodu>
şeklindedir.
find_element_by_id
find_element_by_name
find_element_by_xpath
find_element_by_link_text
find_element_by_partial_link_text
find_element_by_tag_name
find_element_by_class_name
find_element_by_css_selector
find_elements_by_name
find_elements_by_xpath
find_elements_by_link_text
find_elements_by_partial_link_text
find_elements_by_tag_name
find_elements_by_class_name
find_elements_by_css_selector
Bazen websiteleriindeki içerikler yüklenmeden işlem yapmak istemeyiz. Bunun için WebDriverWait
objesini kullanmaktayız.
Temel kullanım:
<bekleme_süresi>
En uzun bekleme süresi. Eğer bu vakte kadar istenen sağlanmazsa hata fırlatır (TimoutException)
Örn: 10
10 saniye bekler, koşul sağlanmazsa hata fırlatır
<bekleme_şekli>
Koşul olana kadar ya da olmayana kadar bekleme
until
Koşul olana kadar bekle
until_not
Koşul olmayana kadar bekle
<koşul>
Selenium'a özgü bekleme koşulu
Örn: presence_of_element_located
Eleman oluşana kadar bekleme
Tüm işlemler
try
-except
bloğu arasında yapılamlıdır, aksi takdirde ufak sorunlarda programınız kapanacaktır.
Javascript'i driver.execute_script("<script>")
metodu ile derleyebilirsin.
<script>
Javascript metni
Dosyada javascript derlemek için dosyayı jsmin
modülü ile minify etmen gerekmektedir.
<dosya_yolu>
Minify edilecek ve derlenecek dosyanın yolu
Örn: javascripts/yemreak.js
Javascript için önemli notlar:
Javascript objelerinin tanımlanması için window.
ön eki ile yapman gerekmekte, aksi takdirde selenium içerisinde kullanamazsın.
Objeleri kullanırken window.
ön ekini kullanmana gerek yoktur.
Javascript verilerini python koduna almak için scriptine return
anahtar kelimesi eklemen gerekmektedir.
üzerinde kullanmak istersen bu ayarlar zorunludur, kaynağa erişebilirsin.
Kaynak için bakabilirsin.
Selenium koşullarının listesine erişebilirsin.
Selenium bekleme koşullarının detayı için bakabilirsin.