Selenium Chrome Driver
Bu kod bloğu, Selenium kullanarak Chrome tarayıcısını otomatikleştirmek için gerekli adımları içerir. Adım adım açıklayalım:
**1. Gerekli Kütüphanelerin İmport Edilmesi:**
* `from selenium import webdriver`: Selenium kütüphanesinin temel webdriver fonksiyonlarını import eder. Bu, tarayıcıyı kontrol etmemizi sağlar.
* `from selenium.webdriver.common.by import By`: Web elemanlarını bulmak için kullanılacak yöntemleri (By.ID, By.XPATH, By.CLASS_NAME, vs.) import eder.
* `from selenium.webdriver.support.ui import WebDriverWait`: Web sayfasının belirli bir elemanın yüklenmesini beklemek için kullanılır. Sayfa yüklenmeden önce bir elemana erişmeye çalışmak hatalara neden olabilir.
* `from selenium.webdriver.support import expected_conditions as EC`: `WebDriverWait` ile birlikte kullanılan, bir elemanın belirli bir koşulu karşılamasını beklemek için kullanılan koşulların (örneğin, bir elemanın görünür olması) tanımlandığı modül.
* `from webdriver_manager.chrome import ChromeDriverManager`: Chrome webdriver’ını otomatik olarak indirip güncellememizi sağlayan bir kütüphane. (Bu kodda direkt path belirtildiği için kullanılmıyor ama açıklamakta fayda var.)
* `from selenium.webdriver.chrome.service import Service`: Chrome webdriver servisini yönetmek için kullanılır.
* `from selenium.webdriver.chrome.options import Options`: Chrome tarayıcısının başlatma seçeneklerini ayarlamak için kullanılır (örneğin, başlangıçta pencere boyutunu belirlemek).
* `import os, time`: Dosya sistemine erişmek (`os`) ve zaman gecikmeleri oluşturmak (`time`) için gerekli kütüphaneler.
**2. Chrome Yolu ve Chromedriver Yolu Belirlenmesi:**
* `chrome_path = os.path.join(os.getcwd(), “chrome”, “chrome.exe”)`: Chrome tarayıcısının yürütülebilir dosyasının yolunu belirler. `os.getcwd()` mevcut çalışma dizinini alır, “chrome” alt dizinine ve “chrome.exe” dosyasına gider. Bu yolun doğru olması önemlidir.
* `chromedriver_path = os.path.join(os.getcwd(), “chrome”, “chromedriver.exe”)`: ChromeDriver’ın yürütülebilir dosyasının yolunu belirler. Benzer şekilde, yolun doğru olması gereklidir.
**3. Chrome Seçeneklerinin Ayarlanması ve WebDriver’ın Başlatılması:**
* `options = Options()`: Chrome seçeneklerini saklamak için bir Options nesnesi oluşturulur.
* `options.binary_location = chrome_path`: Chrome tarayıcısının hangi dosyadan başlatılacağını belirler. Bu, sisteminizde birden fazla Chrome sürümü varsa doğru sürümü seçmenizi sağlar.
* `#options.add_argument(“start-maximized”)`: Bu satır yorumlanmıştır. Yorumu kaldırırsanız, Chrome tarayıcısı başlangıçta maksimum boyutta açılır.
* `driver = webdriver.Chrome(service=Service(chromedriver_path), options=options)`: Chrome webdriver’ını başlatır. `Service(chromedriver_path)` ChromeDriver’ın nerede bulunduğunu belirtir ve `options` ile ayarlanan seçenekleri kullanır.
**Ne eklenmeli?**
Bu kod sadece Chrome tarayıcısını başlatır. Gerçek bir web otomasyon senaryosu için şunlar eklenmelidir:
* **Web sayfasına gitme:** `driver.get(“https://www.orneksite.com”)` gibi bir komut ile hedef web sitesine gidilir.
* **Web elemanları ile etkileşim:** `driver.find_element(By.ID, “element_id”)` gibi komutlarla web sayfasındaki elemanlar bulunur ve bunlarla etkileşim kurulur (tıklama, yazı yazma vs.).
* **Beklemeler:** Sayfanın tamamen yüklenmesini beklemek için `WebDriverWait` kullanılır. Bu, hataları önler.
* **Tarayıcıyı kapatma:** İşlem bittikten sonra `driver.quit()` komutu ile tarayıcı kapatılmalıdır.
Özetle, bu kod, Chrome webdriver’ını doğru yoldan başlatmak için temel altyapıyı kurar. Ancak, gerçek bir otomasyon görevi için daha fazla kod eklenmesi gerekir. Ayrıca, `chromedriver.exe` dosyasının sürümünün kurulu Chrome sürümüyle uyumlu olduğundan emin olunması çok önemlidir.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options import os,time chrome_path = os.path.join(os.getcwd(), "chrome", "chrome.exe") chromedriver_path = os.path.join(os.getcwd(), "chrome", "chromedriver.exe") # Chrome webdriver'ını otomatik olarak indir ve başlat options = Options() options.binary_location = chrome_path #options.add_argument("start-maximized") driver = webdriver.Chrome(service=Service(chromedriver_path), options=options) |