DehaForum - Yazılım ve Programlama Topluluğu Programlama Programlama (Genel) Soru - Cevap c# Selenium Kütüphane Kullanımı
c# Selenium Kütüphane Kullanımı
Ritalin
c# Selenium Kütüphane Kullanımı
0
26
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Konuyu Okuyanlar:1 Ziyaretçi
Şuan Offine!
Şuan Offine!
Ritalin Yönetici
*******
Administrator
  • Konular16
  • Mesajlar28
  • Rep puanı 1
Öncelikle Kütüphanelerimizi Ekleyelim,

Kod :
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using System.Threading;


string url = "";//url belirleyiniz
        OpenQA.Selenium.Chrome.ChromeDriver drv; Thread th; //drv değişkenimize driver imizi atıyoruz ve program açılırken kasma yaşamamak için bekletme komutumuzu th                                                                                                        //değişkenimize atıyoruz
       private void Form1_Load(object sender, EventArgs e)
        {
              //    th = new Thread(chromedriversiz); th.Start();
              //    th = new Thread(konsolsuz); th.Start();
                    th = new Thread(konsolsuzvechromedriversiz); th.Start();//th işlemini form açılırken kasma olmasın diye kullanıyoruz
        }
        private void chromedriversiz()
        {
            ChromeOptions option = new ChromeOptions(); //chrome ayarlarını option değişkenine atıyoruz
            option.AddArgument("--headless"); // atadığımız değişkene headless özelliğini ekliyoruz
            drv = new ChromeDriver(option); // drv değişkenimizden yeni chromedriver oluşturup ayarlarımızı içerisine ekliyoruz
            drv.Navigate().GoToUrl(url); // chroma belirlediğimiz linke yönlendiriyoruz
        }
        private void konsolsuz()
        {
            ChromeDriverService service = ChromeDriverService.CreateDefaultService();//chrome servislerini service değişkenimize atıyoruz
            service.HideCommandPromptWindow = true; // service değişkenimize konsolumuzun hide özelliğini açıyoruz
            drv = new ChromeDriver(service);// drv değişkenimizden yeni chromedriver oluşturup ayarlarımızı içerisine ekliyoruz
            drv.Navigate().GoToUrl(url);// chroma belirlediğimiz linke yönlendiriyoruz
        }
        private void konsolsuzvechromedriversiz()
        {
            ChromeOptions option = new ChromeOptions();//chrome ayarlarını option değişkenine atıyoruz
            option.AddArgument("--headless");// atadığımız değişkene headless özelliğini ekliyoruz
            ChromeDriverService service = ChromeDriverService.CreateDefaultService();//chrome servislerini service değişkenimize atıyoruz
            service.HideCommandPromptWindow = true;// service değişkenimize konsolumuzun hide özelliğini açıyoruz
            drv = new ChromeDriver(service, option);// drv değişkenimizden yeni chromedriver oluşturup ayarlarımızı içerisine ekliyoruz
            drv.Navigate().GoToUrl(url);// chroma belirlediğimiz linke yönlendiriyoruz
        }
        // SendKeys Eventinin Kullanarak Veri Yazdırabilirsiniz örn SendKeys("metin");

        // Click Eventinin Kullanarak İstediğiniz Butona Tıklayabilirsiniz örn Click();

        // Text Eventinin Kullanarak İstediğiniz Metini Çekebilirsiniz örn Text;

        // Count Eventinin

        // GetAttribute Eventinin Kullanarak İstediğiniz Metini Detaylı Şekilde Çekebilirsiniz örn GetAttribute("src"); , GetAttribute("href");

       /*
       dosya yükleme işleminin kullanımı biraz farklıdır örnek olarak; (upload eventi )

       WebElement fileupload = drv.FindElement(By.XPath(dosya yükleme butonunun xpath adresi)); Thread.Sleep(2000);

                                fileupload.Click();//butona tıklıyor
                               Thread.Sleep(2000);//2 saniye bekliyor
                               SendKeys.SendWait(yükleyeceğiniz Dosyanın Dosya Yolu);//Yükleyeceğiniz Dosyayı Yazdırıyoruz
                               SendKeys.SendWait("{Enter}"); Thread.Sleep(2000); // Son Olarak Enter E Basıp Yüklüyoruz
*/
//Xpath Adreslerini Chrome Da Chropath Adlı Eklenti ile Otomatik Alabilirsiniz Veya f12 Tuşuna Basarak Daha  SOnra ctrl + shift + c Tuşlarına Basarak Detaylı Şekilde Xpath

// Adreslerini Manuel Olarak Girebilirsiniz

        private void örnekinstagramgiris()
        {
                drv.FindElements(By.XPath("//input[contains(@name,'username')]"))[0].SendKeys(kullaniciadimiz); Thread.Sleep(100); //xpath adresine kullaniciadimizi yazdıtrıyoruz siz                                                                                                                                                                                               //tırnak içinde yazınız
                drv.FindElements(By.XPath("//input[contains(@name,'password')]"))[0].SendKeys(sifremiz);//xpath adresine sifremizi yazdıtrıyoruz
                {
                    drv.FindElement(By.XPath("//input[@class='button-green']")).Click(); Thread.Sleep(2000);//giriş yap butonumuzun xpath i ile tıklatıyoruz
                }
        }

        private void sendkeyskullanım()
        {
        drv.FindElement(By.XPath("XPATH ADRESİ")).SendKeys("Yazacağımız Kelime Veya Kelime Grupları"); //Eğer Aynı Xpath Adresinden Yok İse

        drv.FindElements(By.XPath("XPATH ADRESİ"))[1].SendKeys("Yazacağımız Kelime Veya Kelime Grupları"); //Eğer Aynı Xpath Adresinden Var İse örnek olarak 1 yazdım oraya                                                                                                                                                                   //Siz xpath Adresinin sırasını yazmanız gerekiyor Bu Sıralamayı f12 ye                                                                                                               //basarak console kısmından document.getElementsByClassName(xpath)[sıralama] şeklinde bakabilirsiniz
        }
        private void clickkullanım()
        {
          drv.FindElement(By.XPath("xpath adresi")).Click();// eğer aynı xpath adresinden yok ise belirlediğimiz xpath adresindeki butona tıklıyor
          drv.FindElements(By.XPath("xpath adresi"))[2].Click();//Eğer Aynı Xpath Adresinden Var İse örnek olarak 2 yazdım oraya                                                                                                                                                                   //Siz xpath Adresinin sırasını yazmanız gerekiyor Bu Sıralamayı f12 ye                                                                                                               //basarak console kısmından document.getElementsByClassName(xpath)[sıralama] şeklinde bakabilirsiniz
        }
         private void Textkullanım()
         {
          textBox1.Text = drv.FindElement(By.XPath("xpath adresi")).Text; // eğer aynı xpath adresinden yok ise belirlediğimiz xpath adresindeki metni textboxa yazdırıyor
          listBox1.Items.Add(drv.FindElements(By.XPath("xpath adresi"))[5].Text);//Eğer Aynı Xpath Adresinden Var İse örnek olarak 5 yazdım oraya                                                                                                                                                                   //Siz xpath Adresinin sırasını yazmanız gerekiyor Bu Sıralamayı f12 ye                                                                                                               //basarak console kısmından document.getElementsByClassName(xpath)[sıralama] şeklinde bakabilirsiniz
         }
         private void countkullanım()
         {
          int count =  drv.FindElements(By.XPath("xpath adresi")).Count;//xpath adresinden kaç adet olduğunu count değişkenine atıyor
         }
         private void GetAttributekullanım()
         {
         textBox1.Text = drv.FindElement(By.XPath("xpath adresi")).GetAttribute("href"); //xpath adresindeki linki textboxa yazdırıyor                                                       
         pictureBox1.Load(drv.FindElement(By.XPath("xpath adresi")).GetAttribute("src");//xpath adresindeki resmi pictureboxa aktarıyor
         }
         private void uploadkullanım()
         {
              WebElement fileupload = drv.FindElement(By.XPath(dosya yükleme butonunun xpath adresi)); Thread.Sleep(2000);
                                fileupload.Click();//butona tıklıyor
                               Thread.Sleep(2000);//2 saniye bekliyor
                               SendKeys.SendWait(yükleyeceğiniz Dosyanın Dosya Yolu);//Yükleyeceğiniz Dosyayı Yazdırıyoruz
                               SendKeys.SendWait("{Enter}"); Thread.Sleep(2000); // Son Olarak Enter E Basıp Yüklüyoruz
         }
         private void chromedanresimindirme()
         {
string url = "https://www.google.com/search?q=kodzamani.weebly.com&sxsrf=ACYBGNS33YMBabDrIhIs_1F1Tz52b-Eiyg:1576333362673&source=lnms&tbm=isch&sa=X&ved=2ahUKEwizw4Sxq7XmAhUySxUIHee7DWMQ_AUoAXoECA0QAw";
                    drv.Navigate().GoToUrl(url);
                   int count = drv.FindElements(By.XPath("//img[@class='rg_ic rg_i']")).Count;     Thread.Sleep(3000);
                   count = count - 1;   
                   for (int i = count; i > 1; i--)   
                   {   
                       listBox1.Items.Add(drv.FindElements(By.XPath("//img[@class='rg_ic rg_i']"))[i].GetAttribute("data-src"));   
                   }
         }
[Resim: DvOCww.gif]


Hızlı Menü: