问题描述
HtmlElementclkElement;HtmlElementCollectionallElementCollection=webBrowser1.Document.GetElementsByTagName("dd");foreach(HtmlElementhtmlElementinallElementCollection){if(htmlElement.InnerText!=null&&htmlElement.InnerText.Trim()=="国有林场"){clkElement=htmlElement;clkElement.InvokeMember("click");break;}}
上面调用“clkElement.InvokeMember("click");”模拟点击后,网页源码应该是会更新的,我用chrome浏览器可以看到源码确实更新了,但我在下面继续执行下面的代码Encodingencoding=Encoding.GetEncoding(webBrowser1.Document.Encoding);StreamReaderstream=newStreamReader(webBrowser1.DocumentStream,encoding);stringsource=stream.ReadToEnd();
得到的网页源码却并没有更新,请问怎么才能得到更新后的源码呢?
解决方案
解决方案二:
求大神指点!!
解决方案三:
模拟点击后,(这里需要给webBrowser时间)网页源码应该是会更新的Application.DoEvents();或判断webBrowser是否加载完成
解决方案四:
clkElement=htmlElement;为什么这里还要转一下clkElement.InvokeMember("click");