【发布时间】:2018-04-06 18:49:03
【问题描述】:
对不起,伙计们,我 CTRL-A 我原来的帖子.. 当然。
这只是简单地询问我在使用 Option Strict On 时遇到的后期绑定错误,这在发布控制台应用程序期间也造成了非常奇怪的不利影响。执行以下操作,感谢非常有用的答案解决了我的问题。
我想说的是,在更好地掌握了后期绑定和早期绑定之后,我可以理解人们为什么要尽早尝试,它附带了很多非常酷且有用的工具,而且它似乎也确实有助于避免那些崩溃问题。
Dim ie As InternetExplorer 将文档变暗为 HTMLDocument 将元素作为 HTMLInputElement ie = 新的 InternetExplorer
ie.Visible = True
ie.Navigate("www.google.com")
While ie.ReadyState <> 4
End While
document = CType(ie.Document, HTMLDocument)
ele = CType(document.getElementById("lst-ib"), HTMLInputElement)
ele.value = "test"
我希望这可以帮助别人,因为它帮助了我。您可以看到我们在示例中使用了早期绑定 :)
【问题讨论】:
-
您实际上想用浏览器做什么? WebBrowser Control 可能是您所需要的。
-
添加到@Andrew Morton 所说的,webbrowser 控件就是您所需要的,它有一个
Document属性,其类型为HtmlDocument。然后该类型有一个名为GetElementById的方法,它返回一个HtmlElement。现在你的代码都不起作用......另外,你使用的是旧的 vb6 剩菜,这不是 vb...... -
嗯..所以代码似乎工作正常,并且一直如此。直到今天,多个已发布的控制台应用程序似乎都运行良好。例如,您在上面看到的内容当前获取元素的 ID,然后单击它。到目前为止,在所有 IE 浏览器自动化中都可以正常工作,您能否举例说明如何执行类似任务? :)
-
使用 Visual Studio 的 对象浏览器(查看菜单->对象浏览器)来发现哪个接口定义了
Document属性。在对象浏览器中,展开 InternetExploreClass 节点,然后展开“Base Types”节点。点击各个界面,直到找到Document。它在IWebBrowser2 Interface 上定义。 getElementById Method 在 IHTMLDocument3 上定义。 -
@TnTinMn 现在这很酷,不知道这一切是多么容易访问:)。所以似乎说文档是类型对象。我的导航与您描述的略有不同。 IEClass - 然后我可以看到旁边有一个小扳手的文档。但是,我可以说这将非常有帮助。谢谢!
标签: vb.net internet-explorer binding automation