folder Tahribat.com Forumları
linefolder C#, Asp.Net, .Net Core
linefolder C# Ta Webbrowser Kullanımı Hakkında (Yardım)



C# Ta Webbrowser Kullanımı Hakkında (Yardım)

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    kajmerpac
    kajmerpac's avatar
    Kayıt Tarihi: 03/Kasım/2008
    Erkek

    ben web browserda açtığım bi sayfa bi linke tıklatıyorum kullanıcı adı ve sifre bolumu geliyo ama onun geldiğini anlamak için gerekli kontrolu yapamadım nasıl yapabilirim?

     

    wbrw.Navigate("site"); 

                 kod = wbrw.Document.Body.InnerHtml.ToString();

                 if (kod.Contains("USERNAME") == true)

                    {

                        giris();

     

                    }

    yazdığım kod bu ama kontrolu yapmıyor bu kodu butonun click eventine koydum aynı anda çalıştıgı için kontrol yapmıyor

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    FCN
    FCN's avatar
    Kayıt Tarihi: 28/Eylül/2007
    Erkek

    sayfayı navigate ettikten sonra

     while (wbrw.ReadyState != WebBrowserReadyState.Complete)

    {

    Application.DoEvents();

    }

    altına bunu ekle  bundan sonra işlemlerini gerçekleştir.

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    kajmerpac
    kajmerpac's avatar
    Kayıt Tarihi: 03/Kasım/2008
    Erkek

    FCN bunu yazdı:
    -----------------------------

    sayfayı navigate ettikten sonra

     while (wbrw.ReadyState != WebBrowserReadyState.Complete)

    {

    Application.DoEvents();

    }

    altına bunu ekle  bundan sonra işlemlerini gerçekleştir.


    -----------------------------

    sagolasın hocam oldu bu şekilde

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    kajmerpac
    kajmerpac's avatar
    Kayıt Tarihi: 03/Kasım/2008
    Erkek

    hocam bişey daha sorabilir miyim ?webbrowser navigate i mesela form_load işleminde peş peşe birden fazla kullanabilir miyim ya da id si olmayan linke başka hangi yöntemle tıklayabilirim?

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    FCN
    FCN's avatar
    Kayıt Tarihi: 28/Eylül/2007
    Erkek

    kajmerpac bunu yazdı:
    -----------------------------

    hocam bişey daha sorabilir miyim ?webbrowser navigate i mesela form_load işleminde peş peşe birden fazla kullanabilir miyim ya da id si olmayan linke başka hangi yöntemle tıklayabilirim?


    -----------------------------
    id si olmayan linke tıklamak  için htmlagilitypack diye bir sınıf var . onla  rahatlıkla sayfadaki  a tagındaki ne var ne yok çekersin. daha sonra  örneğin link bu "<a href=#> yazı </a>" 

    HtmlElementCollection links = webBrowser.Document.GetElementsByTagName("A");
     
    foreach (HtmlElement link in links)
    {
        if (link.InnerText.Equals("yazı"))
            link.InvokeMember("Click");
    }

    bu tarz bişi iş görür sanırım

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    kajmerpac
    kajmerpac's avatar
    Kayıt Tarihi: 03/Kasım/2008
    Erkek

    sagol cevabın için ama sıkıntı surda oluyor form_load işleminde hem siteye girip hemde butona tıklamaya calısıyorm site gec acıldıgı için butonu bulamıyor ve hata veriyor bunu nasıl duzeltcem?

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    FCN
    FCN's avatar
    Kayıt Tarihi: 28/Eylül/2007
    Erkek

    tamam işte form load  eventında  navigate ettiriosun hemen sonra ilk postumda yazdıgım kodu kullan webbrowserdaki işlem tamamlanınca  butonu tıklattır  yani

    form_load(...)
    {
    webbrowser1.navigate(site);
    while(readystateblala)
    application.doevents();

    tıklama işlemleribla bla bla 

    }

     
    ordaki while işlemimiz webbrowser tam olarak hazır oluncaya kadar işlemin devam etmesini sağlıyor.

  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    kajmerpac
    kajmerpac's avatar
    Kayıt Tarihi: 03/Kasım/2008
    Erkek

     

                readXMLData();

                wbrw.Navigate("site");

                while (wbrw.ReadyState != WebBrowserReadyState.Complete)

                {

                    Application.DoEvents();

                }

     

                HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlAgilityPack.HtmlDocument();

                htmlDoc.OptionFixNestedTags = true;

                if (htmlDoc.DocumentNode != null)

                {

                    HtmlAgilityPack.HtmlNode bodyNode = htmlDoc.DocumentNode.SelectSingleNode("//body");

     

                }

                HtmlElementCollection links = wbrw.Document.GetElementsByTagName("A");

     

                foreach (HtmlElement link in links)

                {

                    if (link.InnerText.Equals("Hareket "))

                        link.InvokeMember("Click");

                }    

    benim yazdıgım kodda bu ama  son kodda hata veriyor mantık hatası büyük ihtimalle okuyamadıgı için

Toplam Hit: 2036 Toplam Mesaj: 8