在C#中打开网页后检查网页是否已加载?

时间:2012-12-04 21:51:05

标签: c# webpage

我正在使用

打开不同的浏览器
ProcessStartInfo startBrowser = new ProcessStartInfo(internetbrowser, website);
Process.Start(startBrowser);

哪个效果很好。但是,我还需要知道网页何时加载。有没有办法可以检查这个?或者甚至更好,在页面完全加载时触发事件?

由于

1 个答案:

答案 0 :(得分:0)

您在问题中没有注意到您想要使用哪种浏览器。

如果你使用Internet Explorer而不是我有一个很好的解决方案。 对于以下示例,您需要引用SHDocVw.dll

经过测试的代码示例:

private void Form1_Load(object sender, EventArgs e)
{
            InternetExplorer explorer = new InternetExplorer();

            object Empty = 0;
            object URL = "http://www.yourwebsite.com"; // Here your URL

            // There are many more events.. But we need this one:
            explorer.DocumentComplete += ExplorerOnDocumentComplete; 

            explorer.Visible = true; // If you wish to see the IE, set it to true.

            // Navigate to the provided URL
            explorer.Navigate2(ref URL, ref Empty, ref Empty, ref Empty, ref Empty);

}

private void ExplorerOnDocumentComplete(object pDisp, ref object url)
{
            // The document loaded completly. 
            // Do your work here.
}