Python ile Selenium: Web Otomasyonu Başlangıç Rehberi

2uSa...Ddqn
24 Jan 2024
47

1. Selenium Nedir?

Selenium, web tarayıcıları üzerinde otomasyon yapmak, test senaryolarını otomatize etmek veya web üzerinde veri çekmek için kullanılan bir açık kaynaklı araçtır. Özellikle web uygulamalarının test edilmesi ve etkileşimli otomasyon işlemleri için tercih edilir. Python ile entegrasyonu, güçlü bir otomasyon aracı haline getirir.


2. Kurulum ve Temel Ayarlar

2.1. Python ve pip Kurulumu:

Python ve pip, projenizi Python dilinde yazdığınız Selenium script'lerini çalıştırmak için gerekli temel bileşenlerdir. Terminal veya komut istemcisine aşağıdaki komutları girerek Python ve pip'i yükleyebilirsiniz:

sudo apt-get update sudo apt-get install python3 sudo apt-get install python3-pip 


Bu adımlar, Python dilini ve paket yöneticisi pip'i sisteminize başarıyla kurmanızı sağlar.


2.2. Selenium Kurulumu:

Selenium'u projenize eklemek için aşağıdaki komutu kullanabilirsiniz:

pip3 install selenium 

Bu, Python projenizde Selenium'u kullanabilmeniz için gerekli olan kütüphaneyi yükler.

Bu adımları takip ederek, Selenium'u Python ortamınıza başarıyla kurabilir ve web otomasyonunuza başlayabilirsiniz.

3. İlk Selenium Testi


3.1. WebDriver İndirme:

Selenium, tarayıcılarla etkileşim sağlamak için WebDriver'ları kullanır. İlgili tarayıcı için uygun WebDriver'ı Selenium WebDriver Resmi Sayfası üzerinden indirebilirsiniz. Örneğin, Chrome için Chromedriver'ı indirin ve bilgisayarınıza kaydedin.

3.2. Python ile Temel Selenium Kodu:

Python kullanarak Selenium'u başlatmak için aşağıdaki örnek kodu kullanabilirsiniz:

from selenium import webdriver

# WebDriver'ı başlatma
driver = webdriver.Chrome("path/to/chromedriver")

# Web sayfasını açma
driver.get("https://www.example.com")

# Web elementini bulma ve etkileşim
element = driver.find_element_by_name("username")
element.send_keys("kullanici_adi")

# Tarayıcıyı kapatma
driver.quit()


Bu temel Selenium script'i, tarayıcıyı başlatmayı, belirli bir web sayfasını açmayı, sayfadaki bir HTML elementini bulmayı ve bu elemente bir değer göndermeyi içerir. Bu örnek, Selenium'un temel kullanımını anlamanıza yardımcı olacaktır.


4. İleri Düzey Kullanımlar

4.1. Sayfa İnteraksiyonları:

Sayfa üzerinde etkileşim sağlamak için Keys modülünü kullanabilirsiniz. Örneğin, bir arama kutusuna metin göndermek ve Enter tuşuna basmak için aşağıdaki örnek kullanılabilir:

from selenium.webdriver.common.keys import Keys

search_box = driver.find_element_by_name("q")
search_box.send_keys("Selenium" + Keys.RETURN)


Bu örnekte, send_keys fonksiyonu aracılığıyla bir metin dizisi (örneğin "Selenium") gönderiliyor ve ardından Keys.RETURN ile Enter tuşuna basılıyor.


4.2. Element Bekleme:

Web sayfaları dinamik olarak yüklendiği için bazen belirli bir HTML öğesini bulmaya çalışırken bekleme stratejileri kullanmak önemlidir. WebDriverWait sınıfını ve expected_conditions modülünü kullanarak elementin belirli bir durumunu bekleyebilirsiniz.

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# ID'si "example_id" olan bir elementin varlığını bekler
element = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.ID, "example_id"))
)


Bu örnekte, WebDriverWait ile belirli bir zaman boyunca (10 saniye) presence_of_element_located metodu kullanılarak belirli bir HTML elementinin varlığı beklenir. Eğer element belirli bir süre içinde bulunmazsa, bir TimeoutException hatası alırsınız.


5. Örnek Uygulamalar

5.1. Form Doldurma ve Gönderme:

Web formları üzerinde etkileşim sağlamak, kullanıcı adı ve şifre gibi bilgileri otomatik olarak doldurmak ve ardından formu göndermek için Selenium'u kullanabilirsiniz. Örneğin:

username = driver.find_element_by_id("username")
password = driver.find_element_by_id("password")

username.send_keys("kullanici_adi")
password.send_keys("sifre")

driver.find_element_by_id("submit_button").click()


Bu örnekte, kullanıcı adı ve şifre alanlarına veri gönderildikten sonra, "submit_button" id'sine sahip olan butona tıklanarak form gönderilir.


5.2. Web Scraping:

Web scraping, Selenium'un güçlü özelliklerinden biridir. Belirli bir HTML öğesini veya sınıfı seçerek sayfa üzerinde dolaşabilir ve verileri çekebilirsiniz. Örneğin:

elements = driver.find_elements_by_css_selector(".example-class")
for element in elements:
    print(element.text)


Bu örnekte, sayfadaki tüm "example-class" sınıfına sahip elementleri bulur ve bu elementlerin metin içeriğini yazdırır. Web scraping, veri madenciliği veya bilgi toplama için kullanışlı bir araçtır. Ancak, web sitelerinin kullanım politikalarını ve yerel yasaları göz önünde bulundurmalısınız.

Bu rehber, Python ve Selenium'u kullanarak web otomasyonunu anlamanıza ve uygulamalar geliştirmenize yardımcı olacak temel bilgileri içermektedir.

Diğer Yazılarım:
HTML ve CSS Başlangıç Rehberi
Node.js ve Puppeteer Kullanımı: Başlangıç Rehberi
React Native Animasyonları: Pratik Örneklerle Başlangıç Rehberi
Node.js ile Twitter / X.com API Kullanımı: Temel Adımlar
Chrome Eklentisi Geliştirme Kılavuzu
React.js ile Modern Web Geliştirme: Bileşen Tabanlı Güç
JavaScript: Web Geliştirmenin Temel Taşı
Blockchain Teknolojisi Nedir?
Celestia Coin: Geleceğin Kripto Parası
Step-by-Step Guide to Creating a Smart Contract with Ether.js
Guide to Building a RESTful API with Node.js
Nodejs ve 10 Özelliği

Get fast shipping, movies & more with Amazon Prime

Start free trial

Enjoy this blog? Subscribe to ecndn

1 Comment