🤖Selenium
🗽 Açıklama
Python dili ve Chromedriver baz alınmıştır.
Seleinium Kurulumu
Selenium tarayıcı driver'ı kullanarak çalışmaktadır
ChromeDriver'ı buradan 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
Conda Üzerinden Kurulum
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.
Chromedriver'ı Yapılandırma
Arayüz Olmadan Chromedriver'ı Kullanma (İsteğe Bağlı)
Selenium aracı chrome üzerinde çeşitli özelliklerle çalışabilmekte (örn: arayüz olmadan, sessizce çalışabilir)
Google colab üzerinde kullanmak istersen bu ayarlar zorunludur, kaynağa buradan erişebilirsin.
Chromedriver'ı oluşturma
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
Websitesine Erişme
<URL>
Girmek istediğimiz sitenin adresiÖrn:
"www.yemreak.com"
Websitesinde Eleman Bulma
Kullanım şekli driver.<eleman_bulma_metodu>
şeklindedir.
Kaynak için buraya bakabilirsin.
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
Websitesinde Çoklu Eleman Bulma
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
Websitesine İçerik Bekleyerek Erişme
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 beklemeuntil
Koşul olana kadar bekleuntil_not
Koşul olmayana kadar bekle
Tüm işlemler
try
-except
bloğu arasında yapılamlıdır, aksi takdirde ufak sorunlarda programınız kapanacaktır.
Eleman Oluşana Kadar Bekleme
Websitesinde Javascript Derleme
Javascript'i driver.execute_script("<script>")
metodu ile derleyebilirsin.
<script>
Javascript metni
Dosyadan Javascript Derleme
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 İşlemleri
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.
Harici Bağlantılar
Last updated