问题描述
大家好,我通过SHDocVw想取得网页中的iframe的内容并向其中的表单赋值。在IE8中,网页是可以正常显示的,但通过代码取的IE并取iframe的内容时,发现iframe不是正常要显示的内容,而是跳转到提示不支持iframe的页面了。在同事的电脑上测试了一下,3台IE8均不行,1台IE11可以正常取到网页内容。这里我想问下为什么会这样。以及如果此路不通,有没有别的方式取网页的iframe并赋值的方法。如果还需要其他的问题资源请回复我再提供。C#初学者,实在找不到问题原因,请不吝赐教,非常感谢。以下是取iframe的代码IHTMLDocument2doc2=GetIHTMLDocument2();objectvalue=doc2.GetType().GetProperty("title").GetValue(doc2,null);objectjj;MessageBox.Show(value.ToString()+"拥有IFRAME数量:"+doc2.parentWindow.frames.length.ToString());for(inti=0;i<doc2.parentWindow.frames.length;i++){if(i==2){jj=i;Thread.Sleep(5000);HTMLWindow2Classframe=doc2.parentWindow.frames.item(refjj)asHTMLWindow2Class;StaticElem.println("rn第"+i+"层@@@@@rn"+frame.document.body.innerHTML);}}
以下是错误返回的网页源码片段:<TABLEstyle="PADDING-LEFT:5px;PADDING-RIGHT:20px"id=Table4border=0cellSpacing=0cellPadding=0width="100%"height="100%"><TBODYid=workPanel><TRclass=pane_hide><TD><IFRAMEonreadystatechange=stateListener(this)height="100%"src="/EnterpriseIndexAction.do"frameBorder=0width="100%">对不起,您的浏览器不支持IFRAME!</IFRAME></TD></TR><TRstyle="HEIGHT:0px"class=pane_hidevalign="bottom"><TDnoWrap></TD></TR><TRclass=pane><TD><IFRAMEonreadystatechange=stateListener(this)height="100%"src="/CwbbTaxAction.do?activity=getData&ssq=YD&reportname=SB_CW_LRB_2005"frameBorder=0width="100%">对不起,您的浏览器不支持IFRAME!</IFRAME></TD></TR><TRstyle="HEIGHT:0px"class=panevalign="bottom"><TDnoWrap></TD></TR></TBODY></TABLE>