c#控制台使用WebBrowser获取html问题

2023-03-14,,

在主线程上打上 [STAThread]标记就行

在main()最后一句  添加Application.Run();  就能使控制台像窗体一样持久运行而不是阻塞啥也不干

[STAThread]
static void Main( string[ ] args )
{
    WebBrowser webBrowser = new WebBrowser();
    webBrowser.Navigate( "https://www.baidu.com/" );

webBrowser.DocumentCompleted += WebBrowser_DocumentCompleted;
    //Application.Run( );
    Console.WriteLine( "结束" );   
}
private static void WebBrowser_DocumentCompleted( object sender , WebBrowserDocumentCompletedEventArgs e )
{
 try
{
  MessageBox.Show( "加载成功" );
}
finally
{
       webBrowser.DocumentCompleted -= WebBrowser_DocumentCompleted;
     }
 }

把//Application.Run( );注释取消对比一下就知道

没有Application.Run( );时线程走到尾就结束了,事件因为加载需要时间就错过了,

同时关于事件触发两次通过在finally中取消事件,原文链接:https://www.icode9.com/content-1-333548.html

 
 

c#控制台使用WebBrowser获取html问题的相关教程结束。

《c#控制台使用WebBrowser获取html问题.doc》

下载本文的Word格式文档,以方便收藏与打印。