folder Tahribat.com Forumları
linefolder C#, Asp.Net, .Net Core
linefolder Threading, Async Yada Herneyse



Threading, Async Yada Herneyse

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    AsayisciAsayisci
    Asayisci
    Asayisci's avatar
    Kayıt Tarihi: 14/Eylül/2009
    Erkek

    Merhaba arkadaşlar.

    html parsing işlemi yapıyorum fakat takıldığım nokta şu;

    Butona tıklandıktan sonra webBrowser.Navigate fonksiyonu ile bir sayfaya webbrowseri yönlendirim. sonrasında sayfa tamamen load olduktan sonra gelen html üzerinde parsing yapmak istiyorum.

    fakat butona tıklandıktan sonra sayfanın load olmasını program beklemiyor. hemen alttaki parsing satırlarını işlemeye başlıyor.

    bu sorunumu nasıl çözebilirim. örnek birkaç satır kod olursa sevinirim. teşekkürler.

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    yolbulucu
    yolbulucu's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Homo

    https://stackoverflow.com/a/583909/5008590

     


    29.99cm, titanyum kaplamalı, çift damarlı, su ve yağ soğutmalı.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    AsayisciAsayisci
    Asayisci
    Asayisci's avatar
    Kayıt Tarihi: 14/Eylül/2009
    Erkek

    click eventine yönlendirme yapıyorum. sonra browserin complated  eventine parsing kodlarını yazıyorum.

    breakpoint bırakıp baktığımda hala sayfa tam yüklenmeden parsing işlemine geçiyor. 

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Roark
    Roark's avatar
    Kayıt Tarihi: 12/Ağustos/2011
    Erkek

    Fonksiyon asenkron olabilir diye eklemişti bir abi.

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    AsayisciAsayisci
    Asayisci
    Asayisci's avatar
    Kayıt Tarihi: 14/Eylül/2009
    Erkek

    mealen?

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Roark
    Roark's avatar
    Kayıt Tarihi: 12/Ağustos/2011
    Erkek

    Şimdi yorumlayıcı olarak çalışıyor bu programlama dili hocam daha önce webBrowser.Navigate kullanmadım ama düşünüyorum butona basınca load beklemiyorsa buton eventine verdin ya işlemi sen butona basınca buton içinde ki evente gelene kadar yapabildiği yüklemeyi yapıyor ve sonra oraya atlıyor olabilir. 

     

    webBrowser.Navigate Asenkron/senkron olabilir 

    kontrol değişkeni de kaba bir çözüm olabilir yükleme işlemine göre bir kontrol değişkeni kurarsın , yükleme tamamlanınca yani bu değişken 1 ya da true olunca , fonksiyonu tetikletirsin ve parsing işlemi başlatırsın. 

     

    Haa şimdi aklıma geldi , neden safe-thread kullanmıyorsun hocam ? 

    Bir anahtar ver , loading bitene kadar kimse elleyemesin , loading bittikten sonra da gerekli işleme verirsin anahtarı 

    Roark tarafından 19/Nis/19 01:22 tarihinde düzenlenmiştir
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    saybirs
    saybirs's avatar
    Kayıt Tarihi: 24/Temmuz/2009
    Erkek

    Bu tarz işlemlerde Selenium kütüphanesi kullanabilirsin. S.kimsonik IE browseri yerine daha performanslı ve js hatalarını minimuma indiren chrome,firefox etc. kullabilirsin.

    Sorduğun soruya gelirsek;

    Yazdığnı kodun DocumentCompleted eventinde yazdığında emin misin?

    Veya şöyle bir senaryo olabilir, Sayfa load olur, fakat sayfadaki bazı componentler, div,span etc. js ile async olarak çağrılmıştır. Sayfa load olmasına rağmen div içeriği vs. yüklenmemiş olabilir.

    Bu tarz durumlarda DOM'u dinleyip Ajax requestinin bittiğini anlaman gerekiyor.

    Alttaki kaynaklara bakarak bilgi sahibi olabilirsin;

    http://www.dotnetfunda.com/forums/show/5134/ajax-page-load-using-web-browser-control 

    https://automationrhapsody.com/efficient-waiting-for-ajax-call-data-loading-with-selenium-webdriver/

    https://stackoverflow.com/questions/6201425/wait-for-an-ajax-call-to-complete-with-selenium-2-webdriver

     

    saybirs tarafından 19/Nis/19 02:01 tarihinde düzenlenmiştir
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    AsayisciAsayisci
    Asayisci
    Asayisci's avatar
    Kayıt Tarihi: 14/Eylül/2009
    Erkek

    teşekkürler işe yaradı

  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    RitmFarbRacourci
    RitmFarbRacourci's avatar
    Kayıt Tarihi: 14/Mart/2008
    Erkek

    bu Konu ne güzel oldu böyle. ^^. SvD.

     

    RitmFarbRacourci tarafından 20/Nis/19 14:36 tarihinde düzenlenmiştir

    I'şıkY'ılı;^^`) Zk't^^` RnSySyTk.Ödl.SpRtÇzBşBkYd Kryptia.agogE Sa'd-l'Suûd az.ç'k 'lmyn'Dşn Pnct'tnAnNttn Blgi,YpBlgi 'Ct'nDrm.CmdyDrm.MdrnDrm hRşYdşR ClptcPth'Strsm M'nPhs' Ld,X/Y YrYnZmnGrçklk,AlgBzklğ KrzFrst'tr Tiytr' Pugchv,Jtrn,İmmlmn,FllngLef,Pik' SuprmcySprrty CoBehTh elFnmno:NzrioRonldo AdnKy TkSs,TkHrf(?) .RtNsTk.KvMp.Mk.TrmDyn ScklkNmRzgr ŞkHcBy ccp.kky Snrlr'Çz SnaSnLzmsn 'NsnKsknçtr BgDppr.MagllnCl'ds.S'thCro's Ch'kW'ng CreazioneDiAdamo^^`, Arctrs.Spic' ArcScnd,YySnye TrbProp,TrbJet,TrbFan ~3.10^5km/sn~343m/sn ~900-1240m/snMacH RamJt,ScRamJt Przdi^^' Tbu.XL Prsek MAtv^^` mLAT G'dWllHnting(f). 3id't^^` TareZmenPr ParaMotor TrflrVArsİlşklr (-)+.(/)*,~ ZminŞkil . ..Bu imza @SubZero tarafindan degistirilmistir. "Bu kadar uzun karmakarisik bir imza yapma diye uyardim ama heeheeeey(^^D)_hey kim söylüyor, kim dinliyor." Imzanizi SubZero'ya bilgi vermeden degistirmeyiniz. Tesekkurler...
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    AsayisciAsayisci
    Asayisci
    Asayisci's avatar
    Kayıt Tarihi: 14/Eylül/2009
    Erkek
    saybirs bunu yazdı

    Bu tarz işlemlerde Selenium kütüphanesi kullanabilirsin. S.kimsonik IE browseri yerine daha performanslı ve js hatalarını minimuma indiren chrome,firefox etc. kullabilirsin.

    Sorduğun soruya gelirsek;

    Yazdığnı kodun DocumentCompleted eventinde yazdığında emin misin?

    Veya şöyle bir senaryo olabilir, Sayfa load olur, fakat sayfadaki bazı componentler, div,span etc. js ile async olarak çağrılmıştır. Sayfa load olmasına rağmen div içeriği vs. yüklenmemiş olabilir.

    Bu tarz durumlarda DOM'u dinleyip Ajax requestinin bittiğini anlaman gerekiyor.

    Alttaki kaynaklara bakarak bilgi sahibi olabilirsin;

    http://www.dotnetfunda.com/forums/show/5134/ajax-page-load-using-web-browser-control 

    https://automationrhapsody.com/efficient-waiting-for-ajax-call-data-loading-with-selenium-webdriver/

    https://stackoverflow.com/questions/6201425/wait-for-an-ajax-call-to-complete-with-selenium-2-webdriver

     

    layyyynnnnnnn!!!

    ben bu Selenium'la daha önce niye tanışmadım.

    Parmaklarımı ısırıyorum şuan...... :)))

Toplam Hit: 1857 Toplam Mesaj: 10
c# html parsing