C#如何等待一个网页,然后再继续完成加载 [英] C# how to wait for a webpage to finish loading before continuing

查看:491
本文介绍了C#如何等待一个网页,然后再继续完成加载的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图创建一个程序在同一时间通过我们的缺陷跟踪系统的Web界面来克隆多个错误。我怎么可以等待前之前,我继续一个页面完全加载?

  //这是伪code,但是这应该给你什么,我试图做一个想法。该
//实际code使用多线程和所有的好东西:)。
的foreach(在错误串漏洞)
{
    webBrowser.Navigate(新的URI(URL));
    webBrowser.Document.GetElementById(产品)的setAttribute(价值,产品)。
    webBrowser.Document.GetElementById(版本)的setAttribute(价值,版本)。
    webBrowser.Document.GetElementById(承诺)InvokeMember(点击)。    //需要code等待页面,继续之前加载。
}


解决方案

尝试DocumentCompleted事件

  webBrowser.DocumentCompleted + =新WebBrowserDocumentCompletedEventHandler(webBrowser_DocumentCompleted);无效webBrowser_DocumentCompleted(对象发件人,WebBrowserDocumentCompletedEventArgs E)
{
    webBrowser.Document.GetElementById(产品)的setAttribute(价值,产品)。
    webBrowser.Document.GetElementById(版本)的setAttribute(价值,版本)。
    webBrowser.Document.GetElementById(承诺)InvokeMember(点击)。
}

I'm trying to create a program to clone multiple bugs at a time through the web interface of our defect tracking system. How can I wait before a page is completely loaded before I continue?

//This is pseudo code, but this should give you an idea of what I'm trying to do.  The
//actual code uses multi-threading and all that good stuff :).
foreach (string bug in bugs)
{
    webBrowser.Navigate(new Uri(url));
    webBrowser.Document.GetElementById("product").SetAttribute("value", product);
    webBrowser.Document.GetElementById("version").SetAttribute("value", version);
    webBrowser.Document.GetElementById("commit").InvokeMember("click");

    //Need code to wait for page to load before continuing.
}

解决方案

Try the DocumentCompleted Event

webBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser_DocumentCompleted);

void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    webBrowser.Document.GetElementById("product").SetAttribute("value", product);
    webBrowser.Document.GetElementById("version").SetAttribute("value", version);
    webBrowser.Document.GetElementById("commit").InvokeMember("click");
}

这篇关于C#如何等待一个网页,然后再继续完成加载的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆