C# Form WebBrowser ile İnstagram(Herhangi bir siteye) otomatik giriş nasıl yapılır? Bir Sayfanın Kullanıcılarını Takip Etme

Merhaba arkadaşlar,

Bot uygulamaları üzerine bu aralar yoğunlaştığım için sizlere de yaptığım uygulamaları paylaşmak istiyorum. Türkçe ve ingilizce pek kaynak bulamadığım webbrowser veya bot yazılım ile ilgilenenler için işe yarar umarım.

Öncelikle C# uygulamasını açıp File-New-Project kısmından yeni bir Windows Forms Application uygulaması açıyoruz. Form sayfamıza tool menüsünden bir adet webbrowser nesnesi ve iki button sürekleyip bırakıyoruz. Webbrowser eğer ekranın tamamını kaplıyorsa özellikler penceresinden dock özelliğini none yapabilirsiniz. Program çalışır çalışmaz instagram sayfasına yönlendirme kodu olan navigate kodunu form load kısmına yazıyoruz. Bunun için form kısmında boş yere tıklayıp çift tık ile veya özellikler penceresinden formload kısmına tıklayıp kodları yazabiliriz.

private void Form1_Load(object sender, EventArgs e)
{
    webBrowser1.Navigate("https://www.instagram.com/");
    webBrowser1.ScriptErrorsSuppressed = true; // oluşacak hataları gösterme/bastır
}

Giriş yap butonu için

foreach(HtmlElement elmnt in webBrowser1.Document.GetElementsByTagName("input"))
           {
               if (elmnt.GetAttribute("name") == "username")
               {
                   elmnt.InnerText = " mail veya kullanıcı adı";
                   Thread.Sleep(50);
                   SendKeys.Send("{ENTER}");
                   Thread.Sleep(100);
               }
                else if (elmnt.GetAttribute("name") == "password")
               {
                   elmnt.InnerText = "şifre";
                   Thread.Sleep(50);
                   SendKeys.Send("{ENTER}");
                   Thread.Sleep(100);
               }
           }
           foreach (HtmlElement elmnt in webBrowser1.Document.GetElementsByTagName("button"))
           {
               if (elmnt.InnerText == "Giriş Yap")
               {
                   elmnt.InvokeMember("Click");
               }
           }

Kodların ne işe yaradığını söylemek gerekirse;

HtmlElement elmnt in webBrowser1.Document.GetElementsByTagName(“input”) Bu kod ile web browserda görüntülenen sayfa kaynak kodlarının içinden input etiketli kodları seçip html elemente çevirmek

farklı taglarda işlem yapmak için input kısmını değiştirebilirsiniz. örneğin divdeki bir şeye erişmek için div yazabilirsiniz.

foreach komut ile bütün inputları gezip içerisini kontrol etmek için;
elmnt.GetAttribute(“name”)==”username” kısmını if ile kontrol ettim. Bu kısmı sitenin kaynak kodunda nasıl tanımlanmışsa ona göre değiştirebilirsiniz.

Thread.Sleep(50) komutu ile az da olsa bir bekleme yaptım. Çok gerekli değil ama bazen yazılan bilginin yansıması için süre gerekebilir.

SendKeys.Send(“{ENTER}”); komutu ile klavye ve mouse tuşlarını kullanırız. Örneğin Click yazsaydık mouse ile tıklamış gibi işlem yapacaktır. Enter işlemi yaparak girilen bilgiyi tamamlıyoruz ve diğer girişe geçiyoruz.

elmnt.InnerText == “Giriş Yap” innertext komutundan bahsetmek gerekirse; kullanmak istediğiniz nesnenin görünür yazısı diyebiliriz. Yani textboxun içine değer yazmak için veya button ismini eşleştirmek kontrol etmek için kullanabiliriz.

elmnt.InvokeMember(“Click”); ile button nesnelerine tıklayama işlemi yaparız.

Takip kodları basit görünse de beni bayağı uğraştırdı. Aynı mantık sadece takip edilecek sayfanın kaynak kodunda yer alması için bir sayfanın takipçileri görüntülenmedir.

foreach (HtmlElement elmnt in webBrowser1.Document.GetElementsByTagName("button"))
           {
               if (elmnt.InnerText == "Takip Et")
               {
                   elmnt.InvokeMember("Click");
               }
           }

Yazımızı faydalı bulduysanız, bu gibi paylaşımlardan haberdar olmak için youtube sayfamızı takip edebilirsiniz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir