• 30-11-2019, 03:50:12
    #1
    Platin üye
    ​Merhaba arkadaşlar başlıkta belirttiğim gibi selenium eğitimi arıyorum ücretli şekilde var mıdır eğitimi olan udemy vb platformlarda
  • 30-11-2019, 03:52:51
    #2
    Bedava olarak inceleyebilirsiniz: https://www.youtube.com/channel/UC0a...hK56I-Q/videos
  • 30-11-2019, 04:14:21
    #3
    Üyeliği durduruldu
    ben almadım doğaçlama öğrendim tavsiyem doğaçlama en iyisidir fakat direk öğrenmek istiyorsanız kalıpları https://www.udemy.com/course/ado-net...12763_._pd__._
  • 30-11-2019, 04:18:43
    #4
    Platin üye
    Türkçe kaynak yok neredeyse o yüzden sıkıntı biraz
  • 30-11-2019, 04:50:44
    #5
    Dediğiniz gibi Selenium ile ilgili maalesef çok fazla Türkçe kaynak yok. Ama size şöyle söyleyeyim, yapılabilen işlemler az çok belli ya da hangi amaçla kullanılacağı. Dolayısı ile İngilizce kaynağa da çok fazla gerek olduğunu düşünmüyorum.Bu kütüphanenin temeli ne? Input'lara veri girişi yaptırmak, buton'a tıklatmak, sayfa içeriğindeki html'i manipüle edip istediğimiz bilgileri kullanmak. Tabii PhantomJS ile Sitemap oluşturma gibi ya da Javascript kodlarını çalıştırma gibi özellikleri de mevcut. Ama en çok kullanım alanı kullanıcı girişi yaptırmak, yorum/paylaşım yapmak vs. Bunları yapabilmek için eğitim almaya çok gerek olacağını düşünmüyorum.
    Başlangıç noktası, Driver nesnesinin örneğini almak,sonrasında driver nesnesinin fonksiyonları ile işlem yaparak devam etmek ve en nihayetinde driver nesnesinin quit fonksiyonunu çalıştırarak aktif olan browser'ı kapatmak.
    Örneğin,
    FirefoxDriver driver = new FirefoxDriver("Firefox gecko driver dosyasınızın adresi, internette aratarak bulabilirsiniz");;
    driver.Navigate().GoToUrl("https://www.google.com"); //Google.com adresine git
    var el = driver.FindElementByName("q"); //arama inputunun name'ine ait olan inputu bul el isimli değişkene ata
    el.SendKeys("r10");//arama inputuna r10 yaz
    el.Submit();// Arama işlemini gerçekleştir.
    Yukarıdaki kod bloğunu incelediğinizde, arama inputunu bulabilmek için FindElementByName fonksiyonunu kullandık. Burada Id ile bulma, tagname ile bulma, xpath, css selector ile bulma gibi bir sürü olanak mevcut.
    Bir de ek olarak Driver nesnesinin PageSource isimli bir property'si mevcut. Bu property ile de sayfanın kaynak kodlarına erişebiliyorsunuz.
    Not: Sayfa tamamen yüklenmeden işleme devam etmediği için, rastgele 3-5 saniye bekletmenize de gerek kalmıyor. Ek olarak javascript çalıştırma da şöyle;
    IJavaScriptExecutor js = (IJavaScriptExecutor)driver; //IJavaScriptExecutor, driver nesnesine cast edilebilen javascript interface'i ve javascript çalıştırabilmek için bu interface'in örneğini alıyoruz.
    js.ExecuteScript("çalıştırılacak javascript kodu");// bu fonksiyon javascript kodunu çalıştırır ve object türünde dönüş yapar.
    //js.ExecuteAsyncScript("javascript kodu");// bu fonksiyonda javascript kodlarını asenkron olarak çalıştırır.
    Şuna dikkat edilmesi gerekir, javascript kodlarında hata varsa, davraşını biraz farklıdır; Exception'a düşer ve hata fırlatır. Normal html sayfada javascript hatası olduğunda console bölümüne yazar, ama burada hata oldu mu uygulamayı sonlandırır. Bunun için istisnai durum kontrolü iyi yapılmalıdır.
    Şöyle bir soru gelebilir aklınıza, driver nesnesinin bir sürü html element bulma fonksiyonu varken neden javascript kullanalım?
    Bir çok cevabı var ama bir tanesi şu; Bazı nesneler sayfa oluşturulurken javascript ile dinamik olarak oluşturuluyor. Ayrıca html element'i bulsanız bile veri girişini SendKeys ile yapamayabiliyorsunuz. Bu tip durumlarda javascript kodu ile veri girişi yapmanız gerekebiliyor.

    Temel anlamda bunları bildikten sonra, proje geliştirirken hata aldıkça, aldığınız hataları Google'da aratıp çözümlerine ulaştıkça uzmanlaşırsınız.

    İyi forumlar dilerim
  • 30-11-2019, 04:58:17
    #6
    çok basittir selenium kafana takılan birşey olursa sor yardım edelim. dökümantasyondaki aynısını yap zaten çalışıyor. yukarıda arkadaşlarda anlatmış detaylıca.