C# Selenium Eklenti Ekleme

Merhabalar, C# derslerimize kaldığımız yerden devam ediyoruz. Bu dersimizde Selenium derslerimize kaldığımız yerden devam edeceğiz ve Chrome’a eklenti ekleyecek ve eklediğimiz eklenti ile başlatacağız. Hadi başlayalım !Selenium’un ne olduğunu ve projelerimizde nasıl kullanacağımızı bir önceki dersimizde anlatmıştık, o yazımıza buraya tıklayarak ulaşabilirsiniz., o yüzden tekrardan anlatmayacak hızlı bir şekilde kurulumlarımızı yapacağız. Bu dersimizde Chrome üzerinden gideceğiz fakat diğer tarayıcılar için sadece kullanacağımız sınıf isimlerini değiştireceğiz. Yani Mozilla Firefox için Chrome yerine Firefox, Opera için Opera, Internet Explorer için ise InternetExplorer sınıflarını kullanabilirsiniz.
Hemen Visual Studio aracılığıyla bir proje oluşturalım ve Nuget paket yöneticisini açarak
install-package Selenium.WebDriver; install-package Selenium.Chrome.WebDriver
komutunu girerek Selenium için gerekli olan paketlerimizi indirip projemize ekleyelim. Kod yazdığımız sayfada kodlarımızın tanınması için kurduğumuz paketleri sayfamıza eklemek için sayfanın başına giderek
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
kod satırlarını ekleyelim. Normalde şimdiki adımımızda Chrome tarayıcısını oluşturup açıyorduk fakat eklenti eklemek, tarayıcı ayarlarını yapmak gibi birçok işlem için kullanılan ChromeOptions sınıfından yeni bir nesne türetecek ve tarayıcıyı sonrasında bu ayarlarla başlatacağız. Şimdiii eklenti ekleyeceğiz dedik ama bu eklentiyi nerden alacağız derseniz, kendi kullandığınız Chrome tarayıcısını açıp eklenti mağazasına (Eklenti mağazası için buraya tıklayabilirsiniz.) gidin ve istediğiniz bir eklentiyi kurun. Ardından %localappdata%l/Google/Chrome/User Data/Default/Extensions klasörüne giderek kurduğunuz eklentiye ait klasörü masaüstüne kopyalayın. Ardından Chrome’u tekrardan açarak chrome://extensions/ adresine giderek sağ üst köşeden Geliştirici modunu aktif edin ve Uzantı paketle butonuna tıklayarak Uzantı kök dizinine kopyaladığınız klasörü seçin ve Uzantı paketle deyin. Bu adımları tamamladıktan sonra klasörünüzün içinde crx ve pem uzantılı iki dosya oluşturulacak, bunları saklayın ve dosya yollarını kopyalayın. Ön hazırlık işlemleri tamam, şimdi ChromeOptions sınıfından yeni bir nesne türetelim.
ChromeOptions options = new ChromeOptions();
Nesne türettik, şimdi de bu sınıf ile eklenti ekleyelim, bunun için options nesnesi altında bulunan AddExtension() fonksiyonunu kullanacağız. Ve bu fonksiyon string tipte olmak üzere Chrome kullanarak paketlediğimiz ve sonunda crx uzantılı eklentinin yolunu parametre olarak istiyor. Örneğin bizim crx uzantılı dosyamızın yolu c:/users/kullanici/desktop/eklenti.crx olsun, buna göre AddExtension() fonksiyonunu kullanarak bu eklentimizi Chrome’a ekleyelim;
options.AddExtension("c:/users/kullanici/desktop/eklenti.crx");
Eveett eklentiyi de ChromeOptions sınıfı içine ekledik ve artık şimdi Selenium ile tarayıcı oluşturup açabiliriz. Bunun için de bi önceki dersimizde kullandığımız ChromeDriver sınıfını kullanacağız, elbette yeni bir nesnesini türetmemiz gerek. Fakat daha önce oluşturduğumuz options nesnesini bu sınıfın constructor metoduna parametre olarak göndereceğiz.
ChromeDriver driver = new ChromeDriver(options);
Şu anda projeyi derleyip çalıştırdığınızda Chrome tarayıcısının açıldığını ve hazırda beklediğini göreceksiniz. Tarayıcımızı açılınca Google’a gönderelim ve bu yazımıza da bir nokta koyalım. Tarayıcıyı istediğimiz bir linke göndermek için ya
driver.Url = "https://google.com";
yada
driver.Navigate().GoToUrl("https://google.com");
kod satırlarından herhangi birini kullanmamız gerekiyor. Evet şimdi projeyi derlediğinizde Chrome’un açılıp Google’a gittiğini ve sağ üst köşede de eklediğiniz eklentinin sembolünü göreceksiniz. Evet bu dersimizde bu kadardı, buraya kadar yazdığımız kodları daha toplu olması için aşağıya bırakıyorum;
ChromeOptions options = new ChromeOptions();
options.AddExtension("c:/users/kullanici/desktop/eklenti.crx");
ChromeDriver driver = new ChromeDriver(options);
driver.Navigate().GoToUrl("https://google.com");
Tüm Selenium derslerimiz için buraya, C# derslerimiz için buraya tıklayabilirsiniz. Herkese hayırlı günler.