Docy

Docy

Did You Know?

Advanced visual search system powered by Ajax

Python Notlar

Selenium Chrome Driver

Estimated reading: 4 minutes 57 views

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)

Leave a Comment

Share this Doc

Selenium Chrome Driver

Or copy link

CONTENTS