Ritim İstanbul A5 Blok No:46, D:112, 34846 Maltepe/İstanbul

Web otomasyonunun temelleri: Selenium ile driver.get kullanımı

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.

- ADT Çözümleri -
Yönetilen Hizmetler Görseli
Advanced Dynamics Teknoloji'de işletmeler için dış kaynaktan hizmet modeliyle Yönetilen Hizmetler çözümleri sunuyoruz.

Ö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!

Moment.js nedir ve nasıl kullanılır?

JavaScript kütüphaneleri programlama sektöründe sıklıkla karşılaşılan sorunları çözmek ve otomatikleştirmek için geliştirilir. Popüler JavaScript kütüphanelerinden biri de Moment.js'tir. Peki Moment.js nedir ve programlama dünyasında...

JavaScript’te değişkenler ve aralarındaki farklar: var, let & const

JavaScript, web geliştirmenin temel taşlarından biri olarak, dinamik ve etkileşimli web siteleri oluşturmanın anahtarıdır. Bu güçlü programlama dilinin en temel yönlerinden biri, veri saklama...

Fiyat takip yazılımları nasıl çalışır?

E-ticaret dünyası her geçen gün daha rekabetçi bir hal alıyor. Bu ortamda, işletmelerin rakiplerini ve pazar trendlerini yakından takip etmeleri hayati önem taşıyor. İşte...

HTML div elementi ve kullanım senaryoları

Her gün milyonlarca web sayfasını ziyaret ediyor, okuyor veya üzerlerinde işlem yapıyoruz. Peki, son kullanıcılar için görsel olarak renderlanan bu sayfaların arkasındaki kodlarda kullanılan...

React ‘hook’ nedir ve ne için kullanılır?

React hook, React JavaScript kitaplığındaki bir özelliktir. Hook'lar, sınıf bileşenlerine ihtiyaç duymadan, fonksiyon bileşenlerinde durum (state) ve diğer React özelliklerini kullanmaya olanak tanır. İlk...

IPv4 ve IPv6 nedir? Aralarındaki farklar nelerdir?

Her gün internete bağlanıyoruz, ancak teknik olarak internete nasıl bağlandığımızla ilgili bir fikriniz var mı? İnternet, modern yaşamın ayrılmaz bir parçası haline geldi ve...

Daha fazla blog içerik

Moment.js nedir ve nasıl kullanılır?

JavaScript kütüphaneleri programlama sektöründe sıklıkla karşılaşılan sorunları çözmek ve otomatikleştirmek için geliştirilir. Popüler JavaScript kütüphanelerinden biri de Moment.js'tir. Peki Moment.js nedir ve programlama dünyasında...

JavaScript’te değişkenler ve aralarındaki farklar: var, let & const

JavaScript, web geliştirmenin temel taşlarından biri olarak, dinamik ve etkileşimli web siteleri oluşturmanın anahtarıdır. Bu güçlü programlama dilinin en temel yönlerinden biri, veri saklama...

Fiyat takip yazılımları nasıl çalışır?

E-ticaret dünyası her geçen gün daha rekabetçi bir hal alıyor. Bu ortamda, işletmelerin rakiplerini ve pazar trendlerini yakından takip etmeleri hayati önem taşıyor. İşte...

HTML div elementi ve kullanım senaryoları

Her gün milyonlarca web sayfasını ziyaret ediyor, okuyor veya üzerlerinde işlem yapıyoruz. Peki, son kullanıcılar için görsel olarak renderlanan bu sayfaların arkasındaki kodlarda kullanılan...