我在工作中有一个基于 Intranet 的网站,我想输入 SKU 并使用 VBA 和 IE8 将出现的数据抓取到 Excel 工作表中。目前正在等待访问许可证批准和批准才能访问我们的 IBM as400 服务器。 IE8不支持getElementsByName,并且搜索栏没有ID,所以我在网上找到的大多数示例都不相关。
Sub scraper()
Dim item As Long
item = "10011" 'this will eventually be placed in a loop for multiple searches
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
' navigate and download the web page
objIE.Navigate "http://**********.aspx"
Do While objIE.ReadyState <> 4 Or objIE.Busy
DoEvents
Loop
objIE.document.getElementsByName("input").Value = item
End Sub
这是检查后的元素树的照片。正如你所看到的,只有名称(input)和类(st1),没有ID。如何将搜索数据输入到该区域?尽管我也可以访问 Chrome,但我还是被 IE8 困住了......
改变objIE.document.getElementsByName("input").Value = item
to objIE.document.getElementsByTagName("input")(0).Value = item
最终解决了这个问题。
IE8 支持 getElementsByTagName。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)