使用C#.NET4读取DOM并单击提交图像-为什么我突然在转换时出错?

使用C#.NET4读取DOM并单击提交图像-为什么我突然在转换时出错?,c#,parsing,.net-4.0,mshtml,C#,Parsing,.net 4.0,Mshtml,我有一些代码已经为我工作了几个月,但今天,我得到铸造错误 我正在使用mshtml库单击调整输入图像: mshtml.IHTMLElementCollection objCollection = (mshtml.IHTMLElementCollection)objDocument.getElementsByName("submit"); for (int i = 0; i < objCollection.length; i++) { mshtml.IHTMLElement objEle

我有一些代码已经为我工作了几个月,但今天,我得到铸造错误

我正在使用mshtml库单击调整输入图像:

mshtml.IHTMLElementCollection objCollection = (mshtml.IHTMLElementCollection)objDocument.getElementsByName("submit");
for (int i = 0; i < objCollection.length; i++)
{
   mshtml.IHTMLElement objElement = (mshtml.IHTMLElement)objCollection.item(i, 0);
   if (objElement.getAttribute("alt") == "adjust")
   {
      // This line below gives me the error.
      mshtml.htmlInputImage objSubmit = (mshtml.htmlInputImage)objElement;
      objSubmit.click();
      bOK = true;
   }
}
mshtml.IHTMLElementCollection objCollection=(mshtml.IHTMLElementCollection)objDocument.getElementsByName(“提交”);
for(int i=0;i
在上面的//行中,我得到以下消息:

无法将类型为“mshtml.HTMLInputElementClass”的对象强制转换为类型 “mshtml.htmlInputImage”


这过去是有效的,代码的这一部分没有改变。有人知道我可能做错了什么吗?为什么这就开始不起作用了?我在其他地方使用这种结构,一切都正常…

页面的标记是否改变了?据我所知,页面没有改变,但这正是我想知道的事情。我想机器上的IE版本已经改变了,他的东西也坏了。我找到了另一段代码,并重新使用了这段代码,它做了几乎相同的事情,现在工作正常。你应该把它作为答案发布,然后接受它。很高兴你找到了解决问题的办法。