一个程序中有多个WebBrowsers

时间:2012-02-01 12:15:31

标签: c# multithreading browser

我的问题是我无法同时运行多个Web浏览器。

当我想使用来自site1的webbrowser1废弃数据并使用来自site2的webbrowser2废弃其他数据时,只有第一个webbrowser正在执行此任务。

我试图在不同的线程中运行它们,但它也没有用。我在main之前听说过有关STA ApartmentState的一些信息,但它存在于那里但仍然没有。

如何让两个web浏览器同时工作?

2 个答案:

答案 0 :(得分:2)

如果您尝试废弃数据的网站未通过JavaScript动态更改HTML,则只需使用HtmlAgilityPack即可。在我看来这是最好的,易于使用。这将解决您的多个浏览器的问题,因为您可以使用不同线程中的HtmlDocument的不同实例从多个网站异步废弃数据。

答案 1 :(得分:1)

实际上,WebBrowser是一个只能在单线程环境中运行的ActiveX组件。最近提出了一个类似的问题:Trouble with timers and threads

我的建议是使用WebClient类来同时从多个位置获取数据。