我有一个基于 Intranet 的工作网站,我想输入 SKU 并使用 VBA 和 IE8 将出现的数据刮到 Excel 表中。目前正在等待 Access 许可证批准和批准以访问我们的 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
这是检查过的元素树的照片。如您所见,只有名称(输入)和类(st1),没有ID。我怎样才能将搜索数据输入到这个区域?我被 IE8 卡住了,虽然我也可以访问 Chrome ......
最佳答案
更改 objIE.document.getElementsByName("input").Value = item
至objIE.document.getElementsByTagName("input")(0).Value = item
最终解决了这个问题。
IE8 支持 getElementsByTagName。
关于excel - VBA 和 IE8 - 输入值和搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39283281/