C# webBrowser控件在Ajax网页更新后或在框架中找不到HtmleElement

C# webBrowser控件在Ajax网页更新后或在框架中找不到HtmleElement,c#,ajax,browser,getelementbyid,C#,Ajax,Browser,Getelementbyid,在winForm中使用webBrowser控件。但是当网页通过Ajax或在框架中更新时,我不能使用 webBrowser1.document.getElementById等,以查找htmlElement。元素也不会显示在IE的视图->源代码中 不定时的目的是找到htmlElement,并模拟单击或类似的其他功能 invokeMember(“staff”)WebBrowser的文档对象确实代表了DOM的实时视图,因此可能还有其他一些原因使您无法找到它。但是,DOM更新不会在视图->源中表示。您应该

在winForm中使用webBrowser控件。但是当网页通过Ajax或在框架中更新时,我不能使用
webBrowser1.document.getElementById
等,以查找
htmlElement
。元素也不会显示在IE的
视图->源代码中

不定时的目的是找到
htmlElement
,并模拟单击或类似的其他功能
invokeMember(“staff”)

WebBrowser的文档对象确实代表了DOM的实时视图,因此可能还有其他一些原因使您无法找到它。但是,DOM更新不会在视图->源中表示。您应该使用IE8的开发工具,它将向您显示DOM的实时视图,您可能会看到不正确/重复的ID之类的东西。

我猜您已经自己解决了这个问题,但是如果您没有,请参考我的问题:

本质上,如果您对WebBrowser控件执行某些操作(即,向DOM添加一些成员),它将异步执行此操作。也就是说,它在另一个线程上执行此操作,这样可以避免在WebBrowser执行工作时锁定调用线程。问题是,如果您使用命令以编程方式修改某些内容,则必须等到该命令实际加载完其更改后,才能使用该命令的结果

检查我的问题,看看我正在做什么的代码示例。我希望有人能发现我以前的试验有用