En iyi yanıtlayıcılar
Async-Await Sayfa Yüklendikten Sonra Verinin Çekilmesini Sağlama(Webbrowser)

Soru
-
Merhabalar.
Benim sorunum, butona tıkladığımda webbrowser'daki döküman yüklenmeden veriyi çekmeye çalışması.
Bayağı uğraştım ama sorunu çözemedim.Yardımcı olur musunuz?
Kodlarım:
private async void BtnTask_Click(object sender, EventArgs e) { if (radioBtnTask1.Checked) { await Task1(); } else if (radioBtnTask2.Checked) { await Task2(); } } private async Task Task1() { await PageLoadAsync(); MessageBox.Show("Page loaded!"); HtmlElementCollection buttons = webBrowser.Document.GetElementsByTagName("button"); } private async Task PageLoadAsync() { webBrowser.Navigate("https://url.com"); await webBrowser.LoadingAsync(); } public static class Browser { public static Task<Uri> LoadingAsync(this WebBrowser wb) { var tcs = new TaskCompletionSource<Uri>(); WebBrowserDocumentCompletedEventHandler handler = null; handler = (_, e) => { wb.DocumentCompleted -= handler; tcs.TrySetResult(e.Url); }; wb.DocumentCompleted += handler; return tcs.Task; } }
Yanıtlar
-
Sayfasındaki kodu uygulamama uyarladım ama nerede hata yaptığımı çözemedim.
Güncellendi
Yukarıdaki kodlarda sorun yokmuş.Farklı bir yerde hata yapmışım.
Yukarıdaki linkte bulunan kodlar çalışıyor.
Tüm Yanıtlar
-
ContinueWith ile veriyi çekmeyi denedin mi?
örnek;
await webBrowser.LoadingAsync().ContinueWith((t) =>{ //burada veriyi çek });
TR| Sorunuzun yanıtı bu ise "Yanıt Olarak Öner" olarak işaretleyin, eğer faydalı bir yorum ise "Oy Ver"erek forumun işleyişine katkıda bulunabilirsiniz. EN| If this is the answer to your problem, mark "Propose as Answer" and if it is helpful, you can contribute to the workig of the forum by "Voting".
-
Denedim.Aşağıdaki koda geldiğinde belirtilen atama geçerli değil. hatası alıyorum.
HtmlElementCollection buttons = webBrowser.Document.GetElementsByTagName("button");
(Async programlamada yeniyim.Windows formda bir uygulama yazıyordum.Amacım sayfadaki butonları çekip bazı butonlara tıklatmaktı.Fakat bu işlemi yaparken başka bir işlem yapamıyordum.Bu sorunu çözmek için çözüm yolu arıyorum.)
- Düzenleyen Brahimm 7 Nisan 2020 Salı 14:31
-
Sayfasındaki kodu uygulamama uyarladım ama nerede hata yaptığımı çözemedim.
Güncellendi
Yukarıdaki kodlarda sorun yokmuş.Farklı bir yerde hata yapmışım.
Yukarıdaki linkte bulunan kodlar çalışıyor.