Öncelikle Kütüphanelerimizi Ekleyelim
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"));
}
}
private void ornekprojeler()
{
//www.kodzamani.weebly.com sitemdeki selenium ile geliştirilmiş örnek projeler alttaki isimler ile indirebilirsiniz
//ChromePictureUİ
//instalove
//whatslove
//Pinperestr
//Zula Hesap Çalıcı
}