0

我正在做一个 MVC 项目。在这里,我试图获取其他网站的元素。要获取元素,我使用WebBrowserClass 对象,语法如下:

var a = wb.Document.GetElementById("_menu__tableMenu").GetElementsByTagName("a");<br>
HtmlElement x = a[2];


其中 wb 是WebBrowser类的实例 此代码在我的开发机器和我公司的网络上完美运行(当托管在我们的一个登台服务器中时)但是当我尝试将它托管在客户端的托管服务器上时,它只会抛出“对象引用未设置为实例“问题。

记录错误后,我发现此错误是 HtmlElement x = a[2];因为数组 a 没有任何项目。但我无法理解为什么它会以这种方式工作,而我正在寻找的所有元素都存在。

我认为这可能是一个同步问题

4

1 回答 1

0

几个想法:

您可以尝试使用 html 敏捷包:http ://htmlagilitypack.codeplex.com/我认为它在各种情况下可以更好地处理 DOM。

wb.Document.GetElementById(" menu _tableMenu") 是否返回任何内容,或者它也为空?

你能在你提出网络请求的地方显示代码吗?

于 2012-07-18T18:34:54.850 回答