VBA 和 IE8 - 输入值并搜索
VBA and IE8 - enter value and search
我有一个基于 Intranet 的网站在工作,我想使用 VBA 和 IE8 输入 SKU 并将出现的数据抓取到 excel sheet 中。目前正在等待访问许可批准和批准,以访问我们的 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
这是经过检查的元素树的照片。如您所见,只有名称(输入)和 class (st1),没有 ID。我怎样才能将搜索数据输入到这个区域?我坚持使用 IE8,虽然我也可以访问 Chrome...
将 objIE.document.getElementsByName("input").Value = item
更改为 objIE.document.getElementsByTagName("input")(0).Value = item
最终解决了这个问题。
IE8 支持getElementsByTagName。
我有一个基于 Intranet 的网站在工作,我想使用 VBA 和 IE8 输入 SKU 并将出现的数据抓取到 excel sheet 中。目前正在等待访问许可批准和批准,以访问我们的 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
这是经过检查的元素树的照片。如您所见,只有名称(输入)和 class (st1),没有 ID。我怎样才能将搜索数据输入到这个区域?我坚持使用 IE8,虽然我也可以访问 Chrome...
将 objIE.document.getElementsByName("input").Value = item
更改为 objIE.document.getElementsByTagName("input")(0).Value = item
最终解决了这个问题。
IE8 支持getElementsByTagName。