【发布时间】:2019-08-10 15:22:39
【问题描述】:
我已经编写了 vba 代码,用于在以下网站的搜索框中输入制造商零件号并单击搜索图标。它可以在搜索框中输入制造商零件号并单击搜索图标,但是当“单击搜索图标时,文本框中输入的文本不会被拾取”。它搜索空数据。
'HTML Part for search icon
<a href="javascript:void(0);" style="float: right; width: 20%; height: 55px; border-top-right-radius: .25rem!important; border-bottom-right-radius: .25rem!important; border: 0; padding: 0!important; background: #dadada; margin: 0!important; display: flex; align-items: center;justify-content: center;text-decoration: none;" ng-click="SearchButtonClick(1)"><em class="fa fa-search" aria-hidden="true" style="color: gray;"></em></a>
差不多一个月了,我尝试了各种不同的方法,也提到了堆栈溢出,比如使用“createEvent(”keyboardevent”)”,但没有任何效果。
' VBA code
Sub AptivScrapping()
Dim IE As SHDocVw.InternetExplorer
Set IE = New InternetExplorer
IE.Visible = True
IE.navigate "https://ecat.aptiv.com"
Do While IE.readyState < READYSTATE_COMPLETE
Loop
Dim idoc As MSHTML.HTMLDocument
Set idoc = IE.document
idoc.getElementById("searchUserInput").Value = "33188785"
Dim doc_ele As MSHTML.IHTMLElement
Dim doc_eles As MSHTML.IHTMLElementCollection
Set doc_eles = idoc.getElementsByTagName("a")
For Each doc_ele In doc_eles
If doc_ele.getAttribute("ng-click") = "SearchButtonClick(1)" Then
doc_ele.Click
Exit Sub
Else
End If
Next doc_ele
End Sub
【问题讨论】:
标签: excel vba web-scraping