How to navigate in a list of links using webbrowser?

半城伤御伤魂 提交于 2019-12-01 03:38:19

问题


I have a list of url and I need to navigate them. How can I make sure that every url will call the DocumentCompleted event ? I've already tried to create many threads and tried using a single thread too but the app is still not firing the event DocumentCompleted for each url.

Is there a way to make a loop in a list of urls and make them call a DocumentCompleted until the thread calls the next url ?


回答1:


To implement this, async/await and Task Parallel Library may come in handy. They allow to have familiar, pseudo-linear code flow for what is an asynchronous logic (handling DocumentCompleted events for multiple navigations, one after another).

I answered a similar question for a WinForm app here and for a console app here.

If you need to target .NET 4.0 but develop with VS2012+ , you still can use async/await, Microsoft provides the Microsoft.Bcl.Async library for that.

If C# 5.0 is not available for this project, you can use yield, as described here.




回答2:


If a page has scripts errors on it, it is possible it will never complete. You should make a timeout for that event.



来源:https://stackoverflow.com/questions/21935972/how-to-navigate-in-a-list-of-links-using-webbrowser

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!