我使用C#WebBrowswer控制和我有当页面没有加载当按下像“下一步”按钮的问题尚未程序试图进行,而是给了我一个空错误。等到WebBrowser控件的页面加载
是否有一个函数让程序等待,直到页面完成加载?
我试图把程序中的while循环检查html页面的标题,但程序死机。喜欢的东西将冻结程序:
while(!webbrowser1.Document.Title.ToString().Equals("NextPageTitle"))
{
}
::NextCommands::
它不工作,我想,和按钮“fblqf”不点击。但它不是返回空的错误..
public void button1_Click(object sender, EventArgs e)
{
webBrowser1.Document.GetElementById("q").SetAttribute("value", "חחח");
webBrowser1.Document.GetElementById("btnK").InvokeMember("Click");
webBrowser1.DocumentCompleted += webBrowser1_DocumentCompleted;
}
void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
// do the work you need to do now that that page has completed loading
webBrowser1.Document.GetElementById("fblqf").InvokeMember("Click");
}
解决方案:
public void button1_Click(object sender, EventArgs e)
{
webBrowser1.Document.GetElementById("q").SetAttribute("value", "חחח");
webBrowser1.Document.GetElementById("btnK").InvokeMember("Click");
int x=0;
while (x==0)
{
System.Windows.Forms.Application.DoEvents();
if(webBrowser1.Document.GetElementById("pnnext") != null)
break;
}
webBrowser1.Document.GetElementById("pnnext").InvokeMember("Click");
webBrowser1.Document.GetElementById("q").Focus();
}
你真的需要那个x吗?无法在while条件内放置webBrowser1.Document.GetElementById(“pnnext”)== null吗? – Puce 2014-03-07 09:20:52
你可能是正确的,因为你可以看到,这是我的第一段代码之一。 – hagai 2017-12-12 11:57:16