Web geliştiriciler ve QA mühendisleri için otomasyon, modern internetin karmaşık ekosisteminde navigasyonu basitleştiren bir kurtarıcıdır. Selenium WebDriver, bu alanda öne çıkan araçlardan biridir ve Python dilinde kullanımı hem kolay hem de etkilidir. Bu blogda, Selenium WebDriver’ın temel fonksiyonlarından biri olan driver.get
metodu ile nasıl bir web sayfasına gidileceğini keşfedeceğiz.
Selenium WebDriver Nedir?
Selenium WebDriver, web uygulamaları için bir otomasyon çerçevesidir. Tarayıcılar arası testleri kolaylaştırarak, gerçek kullanıcı etkileşimlerini taklit etmek için bir API seti sunar. WebDriver, farklı web tarayıcıları için özelleştirilmiş sürücülerle çalışır ve bu sürücüler aracılığıyla tarayıcıları kontrol edebilir.
Örnek Kullanım Alanları
Selenium ve driver.get
metodu, birçok farklı senaryoda kullanılabilir. İşte bazı yaygın uygulamalar:
Web Test Otomasyonu
Selenium, web uygulamalarının fonksiyonel testlerini otomatikleştirmek için yaygın bir araçtır. driver.get
metodunu kullanarak test otomasyonu senaryoları başlatılır ve belirli bir web sayfasını açar. Testler sırasında çeşitli kullanıcı etkileşimleri simüle edilerek uygulamanın beklenen şekilde çalıştığı doğrulanır.
Veri Çekme (Web Scraping)
Web sitelerinden veri çekmek veya “scraping” yapmak için de Selenium kullanılır. driver.get
ile hedeflenen sayfaya gidilir ve ardından sayfanın DOM yapısı üzerinden gerekli bilgiler çekilir.
Otomatik Form Gönderimi
Selenium, kullanıcı girişi gerektiren formların otomatik doldurulması ve gönderilmesi için kullanılabilir. driver.get
ile formun bulunduğu sayfaya gidilir ve ardından Selenium metotlarıyla form doldurulup gönderilir.
Tarayıcı Davranış Testleri
Web sitelerinin farklı tarayıcılar ve cihazlar üzerinde nasıl göründüğünü ve davrandığını test etmek için Selenium’dan yararlanılır. driver.get
ile site açılır ve çeşitli senaryolar tarayıcılar arasında test edilir.
Otomatik Ekran Görüntüsü Alma
Bir web sayfasının nasıl göründüğünü belgelemek veya bir hata durumunda ekran görüntüsü almak için driver.get
metodu ile sayfaya gidilip, Selenium’un ekran görüntüsü alma özellikleri kullanılabilir.
Hız Testleri
Bir web sayfasının yükleme hızını ve performansını ölçmek için driver.get
ile sayfaya gidilir ve yükleme sürelerini ölçmek üzere zamanlayıcılar kullanılır.
Sayfa Yönlendirmelerini Kontrol Etme
Web sayfalarının yönlendirme işlemlerinin doğru çalışıp çalışmadığını kontrol etmek için driver.get
kullanılır. Örneğin, bir kullanıcının giriş yaptıktan sonra doğru sayfaya yönlendirilip yönlendirilmediği test edilebilir.
Dinamik İçerik Testleri
JavaScript ile yüklenen dinamik içeriğin doğru şekilde çalıştığını test etmek için driver.get
ile sayfaya gidilir ve içeriğin yüklenip yüklenmediği, beklendiği gibi çalışıp çalışmadığı kontrol edilir.
Çapraz Tarayıcı Testleri
driver.get
kullanılarak, farklı tarayıcı sürümleri üzerinde bir web sayfasının nasıl yüklendiği ve çalıştığı test edilebilir, bu da geliştiricilere uygulamanın tarayıcılar arası uyumluluğu hakkında bilgi verir.
Sürekli Entegrasyon ve Teslimat (CI/CD) Süreçleri
Otomatik test senaryoları, bir CI/CD boru hattına entegre edilerek, yeni kod değişikliklerinin mevcut özelliklere olumsuz bir etki yapmadan önce doğrulamasını sağlamak için kullanılır. driver.get
ile başlayan testler, kodun üretime taşınmadan önce kalitesini garanti eder.
Selenium ve driver.get
metodunun bu geniş yelpazesi, neden web otomasyonu ve test otomasyonu alanında bu kadar popüler ve güçlü bir araç olduğunu göstermektedir.
Kurulum
Selenium WebDriver kullanabilmek için öncelikle Python ve pip’in bilgisayarınıza kurulu olması gerekir. Daha sonra Selenium kütüphanesini aşağıdaki pip komutu ile kurabilirsiniz:
pip install selenium
Tarayıcı sürücülerini (örneğin, chromedriver
ya da geckodriver
) da indirip, PATH içine eklemeniz gerekecektir.
driver.get
Kullanımı
driver.get
metodu, tarayıcıya belirli bir URL’ye gitmesini söyler. İşte temel bir kullanım örneği:
from selenium import webdriver
# WebDriver örneği oluşturun (bu örnekte Chrome kullanıyoruz)
driver = webdriver.Chrome()
# URL'ye git
driver.get('https://www.example.com')
# İşlemler burada yapılır...
# Tarayıcıyı kapat
driver.close()
Sayfa Yüklenmesini Beklemek
Modern web sayfaları genellikle JavaScript kullanarak dinamik içerik yükler. driver.get
çağrısından sonra hemen içerikle etkileşime girmeye çalışırsanız, istediğiniz elementler henüz yüklenmemiş olabilir. Bu durumda, Selenium’un bekleme stratejilerinden birini kullanabilirsiniz:
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
driver = webdriver.Chrome()
driver.get('https://www.example.com')
try:
# Belirli bir elementin yüklenmesini bekleyin
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "myElement"))
)
finally:
driver.quit()
Bu kod parçası, ID’si myElement
olan bir elemanın sayfada bulunmasını 10 saniye boyunca bekler.
Sonuç
Selenium WebDriver’ın driver.get
metodu, otomasyon senaryolarınızın temel taşlarından biridir. Bu metod, test etmek veya veri çekmek istediğiniz web sayfalarına erişim sağlar. Ancak, web sayfalarının yükleme sürelerini ve dinamik içeriklerini dikkate alarak uygun bekleme mekanizmalarını kullanmak, otomasyon sürecinin başarısını büyük ölçüde artırabilir.
Web otomasyonunun gücünü keşfetmek, verimliliği artırmak ve tekrarlanan görevleri otomatikleştirmek için Selenium mükemmel bir başlangıç noktasıdır. Başarılarınızda sınırları zorlayın!