1. Selenium Nedir?
Selenium, kod kullanarak web tarayıcılarını kontrol etmemizi sağlayan bir otomasyon aracıdır. Normalde bir web sitesinde kullanıcı olarak gerçekleştirdiğimiz eylemi düşünelim. Örneğin, Chrome'u açıyoruz, bir web sitesine gidiyoruz, kullanıcı adı ve şifre giriyoruz, Giriş butonuna tıklıyoruz ve giriş yapıp yapamadığımızı kontrol ediyoruz. Selenium bu eylemleri bizim yerimize otomatik olarak gerçekleştirebilir.
Örneğin (Python):
Bu kod, belirtilen web sitesini tarayıcıda açar.
driver.get("https://example.com")
Bu kod, kullanıcı adı alanını bulur ve içine "beril" yazar.
driver.find_element(By.ID, "username").send_keys("beril")
Bu kod, Giriş butonunu bulur ve üzerine tıklar.
driver.find_element(By.ID, "login").click()
Selenium'un temel mantığı:
- Tarayıcı → Bir öğe bul → Bir eylem gerçekleştir → Sonucu doğrula
2. Selenium Ne Test Eder?
Selenium, esas olarak web uygulamalarını test etmek ve otomatikleştirmek için kullanılır.
Örneğin, bir e-ticaret web sitesinde şu eylemi otomatik olarak test edebiliriz:
- Kullanıcı girişi
- Ürün arama
- Bir ürünü sepete ekleme
- Bir formu doldurma
- Ödeme süreci
- Kullanıcının doğru sayfaya yönlendirildiğini doğrulama
Örneğin, bir giriş testinde Selenium, kullanıcı adı ve şifre alanlarını doldurabilir, Giriş butonuna tıklayabilir ve başarılı bir giriş sonrasında Dashboard sayfasının açıldığını doğrulayabilir.
3. Selenium Bir Programlama Dili Değildir
Burada önemli bir ayrım var.
Selenium bir programlama dili değildir; bir web otomasyon aracıdır. Selenium farklı programlama dilleriyle kullanılabilir.
Örneğin:
- Phyton
- Java
- C#
- Javascript
- Ruby
Bu seride Python + Selenium kullanacağız.
Burada Python bizim programlama dilimiz olacak, Selenium ise web tarayıcısını kontrol etmek için kullandığımız otomasyon aracı olacak.
4. Selenium WebDriver Nedir?
WebDriver, Selenium'un bir web tarayıcısıyla iletişim kurmasını sağlayan temel bileşenlerden biridir.
Bunu basitçe şu şekilde düşünebiliriz
Python kodumuz → Selenium WebDriver → Chrome → Web sitesi
Python kodumuz Selenium WebDriver ile iletişim kurar ve WebDriver tarayıcı ile iletişim kurar.
Örneğin:
driver.get("https://google.com")
Bu kodu yazdığımızda Python doğrudan Chrome'a bir komut göndermez. Bunun yerine Selenium, WebDrive kullanarak tarayıcıya istenen eylemi gerçekleştirmesini söyler.
5. Driver Nedir?
Selenium kodunda sık sık "driver" kelimesini göreceğiz. “driver”, açtığımız tarayıcı oturumunu kontrol etmemizi sağlayan nesnedir.
Örneğin:
driver.get("https://google.com")
Burada driver tarayıcıyı temsil eder. Daha sonra driver üzerinden birçok farklı eylem gerçekleştirebiliriz.
Örneğin:
Bir önceki sayfaya geri döner.
driver.back()
Sayfayı yeniler.
driver.refresh()
Tarayıcı oturumunu kapatır.
driver.quit()
6. Selenium ile Neler Yapabiliriz?
Selenium kullanarak, gerçek bir kullanıcı gibi tarayıcıda birçok eylem gerçekleştirebiliriz.
Bir web sitesi açma
driver.get("https://example.com")
Bir öğe bulma
driver.find_element(...)
Bir giriş alanına metin yazma
element.send_keys("Beril")
Bir butona tıklama
element.click()
Bir öğenin metnini okuma
element.text
Sayfa başlığını alma
driver.title
Tarayıcıyı kapatma
driver.quit()
Bunlar Selenium öğrenirken kullanacağımız temel yapı taşlarıdır.
7. Selenium Bir Öğeyi Nasıl Bulur?
Selenium öğrenirken en önemli kavramlardan biri öğe bulmadır.
Örneğin, web sayfamızda şu HTML kodunun olduğunu düşünelim:
<input id="username" type="text">
Selenium'a bu öğeyi bulmasını söylememiz gerekiyor. Bunun için bir locator kullanırız. Locator, bir web sayfasındaki belirli bir öğeyi tanımlamak için kullanılan bir yöntemdir. Örneğin, öğeyi ID'sini kullanarak bulabiliriz:
driver.find_element(By.ID, "username")
Burada:
By.ID
Öğeyi bulmak için hangi yöntemi kullanacağımızı belirtir.
"username"
Bu, bulmak istediğimiz öğenin ID değeridir.
8. Locator Türleri
Selenium farklı locator stratejileri sunar.
Örneğin:
ID
NAME
CLASS_NAME
TAG_NAME
LINK_TEXT
PARTIAL_LINK_TEXT
CSS_SELECTOR
XPATH
Ancak başlangıçta hepsini ezberlememize gerek yok. Özellikle şu üç yönteme odaklanacağız:
- By.ID
- By.CSS_SELECTOR
- By.XPATH
Bunları gelecek bölümlerde gerçek HTML örnekleri kullanarak tek tek öğreneceğiz.
9. İlk Selenium Scriptimiz
Artık temel kavramı anladığımıza göre ilk Selenium programımızı yazabiliriz.
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.google.com")
print(driver.title)
driver.quit()
Şimdi bu kodu satır satır inceleyelim.
from selenium import webdriver
Selenium'un WebDriver bileşenini Python projemize dahil ediyoruz.
driver = webdriver.Chrome()
Chrome tarayıcısını başlatıyoruz.
driver.get("https://www.google.com")
Google web sitesini açıyoruz.
print(driver.title)
Açılan sayfanın başlığını terminale yazdırıyoruz.
driver.quit()
Tarayıcı oturumunu kapatıyoruz.
Yorumlar
Yorum yapmak için giriş yapmalısın.
Henüz yorum yok. İlk yorumu sen yap!