我正在做一个MVC项目。在这里,我试图获得一些其他网站的元素。为了获取元素,我使用了WebBrowser
类对象,语法如下:
var a = wb.Document.GetElementById("_menu__tableMenu").GetElementsByTagName("a");<br>
HtmlElement x = a[2];
其中wb是WebBrowser
类的实例,这段代码在我的开发机器上和我公司的网络(当托管在我们的一台临时服务器上时)都工作得很好,但是当我试图在客户端的托管服务器上托管它时,它只是抛出了"Object reference not set to an instance“问题。
在记录错误后,我发现这个错误是针对HtmlElement x = a[2];
的,因为数组a没有任何项。但是我不能理解为什么在我寻找的所有元素都存在的情况下,它会以这种方式工作。
我认为这可能是一个同步问题
发布于 2012-07-18 18:34:55
我有几个想法:
您可以尝试使用html敏捷包:http://htmlagilitypack.codeplex.com/,我认为它在各种情况下可以更好地处理DOM。
wb.Document.GetElementById("menu_tableMenu")是否返回任何内容,或者也是null?
你能展示你的网页请求的代码吗?
https://stackoverflow.com/questions/11537107
复制相似问题