Turkcell | Geleceği Yazanlar

Soru & Cevap

C# Webbrowser ile ilgili Hata

20.03.2017 - 10:14

Merhaba arkadaşalr C# windows form ile web browser kullanıyorum ve elimde bulunan bir hesap listesi hesapları listboxa aktarıyorum ve tek tek bu hesaplarla web browserdaki siteye giriş yapıp takipci sayısını çekiyorum fakat şöyle bir sıkıntım giriş yapmaya yarayan kod ile takipci sayısını çeken kodun arasına messagebox koyduğumda siteye giriş yapıldığını gördüğümde tamam dediğimde bilgiyi çekiyor ve bir alt hesaba devam ediyor bu şekil ama messagebox u kaldırıyorum ve o şekil deniyorum çalışmıyor.

for (int i = 0; i < listVeri.Items.Count; i++)
            {
                string[] parcalar;
                parcalar = listVeri.Items[i].ToString().Split(' ');
                HtmlDocument doc = webBrowser1.Document;
                HtmlElement kullanici = doc.GetElementById("username");
                HtmlElement parola = doc.GetElementById("password");
                HtmlElement girisbuton = doc.GetElementById("submit");
                kullanici.SetAttribute("value", parcalar[0]);
                parola.SetAttribute("value", parcalar[1]);
                girisbuton.InvokeMember("click");
                MessageBox.Show("Deneme");
                HtmlDocument bilgiler = webBrowser1.Document;
                HtmlElement takipci= bilgiler.GetElementById("follower");
                if (takipci!= null)
                {
                    string ekle = parcalar[0] + "-" + takipci.OuterText;
                    listTakipci.Items.Add(ekle);
                }
            }

 

2817 Görüntülenme

2 Cevap

Serdar
09.02.2018 - 01:30

72yunuskaya aynı sorunu bende yaşıyorum çözüm üretebildiniz mi? Paylaşırsanız çok memnun olacağım.

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Furkan Alnıak
20.03.2017 - 15:21

Merhaba,

Anlattığın problemin sebebi temel olarak messageBox eklediğinde sayfanın yüklenmesi sen tamam tuşuna basana kadar tamamlanıyor ve sen tamam tuşuna bastığında runtime devam ediyor. Arada kesici bir satır olmayınca yukarıdan aşağıya çalışırken sayfa yüklenmeden işlem yapamadığı için istediğin işlemi yaptıramıyor. Çözüm olarak önce iki şey önerebilirim:

1. "Takipçi çekiyorum" dediğin kısıma geçmeden önce mevcut sayfanın yüklenip yüklenmediğini aşağıdaki gibi kontrol edebilirsin.

while (webBrowser1.ReadyState != WebBrowserReadyState.Complete)

{

//Sayfa henüz tamamlanmadığı sürece bekleme süresi

}
//Yapman gereken işlemlerin devamı..

 

2. Thread sınıfını kullanarak Sleep fonksiyonu ile belirli bir süre işlemleri bekletip daha sonra devam ettirebilirsin.

 

Kolay gelsin.

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Yunus
20.03.2017 - 22:08
Öncelikle cevabınız için teşekkür ederim bu yöntemleri denedim fakat çalışmadı

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.