问题描述
各位大大:请教下面的问题:在IE检查元素中看到的是:<DIVclass=loginstyle="MARGIN-TOP:-1px"><DIVclass=login_txt><FORMname=loginonsubmit="returncheckLogin()"action=/user.do?method=loginmethod=posttarget=_top><DIVclass=name>用户名:</DIV>但在IE中查看源是:<divid="wrap"><divclass="login"><divclass="login_txt">搜索不到用户名几个字的,连input都没有。看起来是js生成的,div多层嵌套,登录的用户名文本框,我用的是webbrowser,使用document.all什么的都不行,domdocument也用了,使用getelementsbytagname等遍历都不知道怎么遍历,innerhtml,innertext也取不到,请教各位大侠这种情况下怎么处理,谢谢!搜索到这一段,i.name直接报错....DimMyDocAsNewmshtml.HTMLDocumentDimDocElementsAsmshtml.IHTMLElementCollection=NothingDimLoginFormAsmshtml.HTMLFormElement=NothingASPComplete=0WB.Navigate(VitecLoginURI)BrowserLoop()MyDoc=WB.Document.DomDocumentDocElements=MyDoc.getElementsByTagName("input")ForEachiAsmshtml.IHTMLElementInDocElementsSelectCasei.nameCase"seLogin$UserName"i.value=UserIDCase"seLogin$Password"i.value=PassCaseElseExitSelectEndSelectNexti
解决方案
解决方案二:
补充说明:用IE11自带的元素查看功能(或者F12开发人员工具)看到的HTML和用IE自己的查看源,以及和用webbrowser.document取得的内容是不一样的。前者就能看到登录框等元素内容,后2者看不到,用webbrowser也取不到......