C# Selenium Donma Sorunu Çözümü

Ücretsiz selenium eğitim kursuna hepiniz hoş geldiniz. Bugün ki konumuz ise eminim bu işe yeni başlayanların canını çok sıkan bir konuya değinmek istiyorum. Bir siteye gitmek için yada selenium ile bir komut verdiğimiz de webdriver yüklenmesini tamamlayana kadar formumuzun donduğunu ve formumuz üzerinde hiç bir işlem yapamadığımızı üzülerek gördük. Bunun bir çaresi olması lazım diye düşünen okurlarıma Müjdemi vermek isterim. Bu konuyu bir kaç satır Kod ile Çözmeye ne dersiniz? Allah derim diyen okurlarımın sesleri kulaklarıma kadar geldi. O halde gelin hep beraber bizi kısıtlayan bu lanet olası durumdan kurtulalım.

İlk adım olarak lütfen aşağıda ki kütüphaneyi ekleyelim zira ona muhtacız 🙂

using System.Threading;

Kütüphanemizi eklediğimize göre Threading clasını kullanacağımız ortaya çıktı. Hadi bu klası kullanmaya başlayalım ancak olası hataları önceden engellemek için projenizin Load bölümüne aşağıda ki vereceğim denetimi ekliyoruz.

CheckForIllegalCrossThreadCalls = false;

Böylece hata almadan Thread kullanımı yapabileceğiz. Şimdi ise asıl olaya geçelim. Selenium tarayıcısının aktif olarak kullanacağız kod bloğuna geçiş yapalım ve bir Thread değişkeni oluşturalım ve ardından bu değişkene bir değer ataması yapalım.

Thread br; br = new Thread();

Yukarda oluşturduğumuz br isimli Thread değişkenini örnekleme yaptık Thread() komutunun içerisine bir metot eklememiz gerekecek. Peki Bu metot ne ile ilgili olmalı ? Tabi ki selenium tarayıcımızın çalışması için gerekli kodlarımızı metot haline getireceğiz ve metodu Thread’e atayacağız ve sonrasında Thread’i başlatacağız. Sizlere aşağıda toplu olarak kodları verdiğim zaman durumu daha iyi anlayacaksınız.

br = new Thread(hızlıBaslama);
br.Start(); private void hızlıBaslama()
{
IWebDriver adriver = new ChromeDriver();
adriver.Navigate().GoToUrl(“http://xn--webpazar-0kb.com/”);
}

Yukarıda her şey net olarak bellidir. Bu yazı boyunca yaptıklarımızı bir liste halinde görelim.

  • Threading Kütüphanesini ekledik.
  • CheckForIllegalCrossThreadCalls denetimini false yaptık.
  • Thread değişkeni atadık.
  • Atadığımız değişkene new Thread(); değerini verdik.
  • Ardından selenium aksiyonlarının bulunduğu bir metot yazarak bu metodu Thread‘ a atamasını yaptık.
  • Thread metodunu start ile başlattık.

Yukarda ki liste her şeyi özetliyor arkadaşlar bu konu ile ilgili olarak hazırladığım video’yu izleyerek bu konuda hata yapma oranınızı sıfıra indirebilirsiniz.

Bu ve bunun gibi bir çok dersi ücretsiz olarak öğrenmek için mutlaka youtube sayfama abone olabilirsiniz. Ayrıca bizleri sosyal medya üzerinden takip edebilirsiniz. İnstagram adresimiz @webpazari233 Twitter adresimizi ise @PazarWeb Hepinize mutlu ve sağlıklı bir yaşam diliyorum.

Bu yazımızda anlattığım konu ile ilgili yapamadığınız yada kafanıza takılan her soruyu sitemizin yorum kısmına yazarak cevap bulabilirsiniz.

One Response

  1. Avatar Deniz 29 Haziran 2020

Leave a Reply