VBA Web搜索按钮-GetElementsbyClassName

问题描述 投票:0回答:1

我对VBA代码有疑问。我想打开这个网站:https://www.tnt.com/express/en_us/site/tracking.html,然后在“货件编号”搜索框中,我想从Excel文件中放入活动单元格。一开始,我尝试只输入特定的文本,例如:“ 777777”。

我写了下面的代码,但不幸的是搜索按钮为空,没有错误。我尝试了所有操作,但我不知道该如何更改代码。有什么线索吗?预先谢谢你。

HTML:

<input class="__c-form-field__text ng-touched ng-dirty ng-invalid" formcontrolname="query" pbconvertnewlinestocommasonpaste="" pbsearchhistorynavigation="" shamselectalltextonfocus="" type="search">

VBA:

    Sub TNT2_tracker()
Dim objIE As InternetExplorer
Dim aEle As HTMLLinkElement
Dim y As Integer
Dim result As String

Set objIE = New InternetExplorer

objIE.Visible = True
objIE.navigate "https://www.tnt.com/express/en_us/site/tracking.html"
Do While objIE.Busy = True Or objIE.readyState <> 4: DoEvents: Loop

Dim webpageelement As Object
For Each webpageelement In objIE.document.getElementsByClassName("input")
If webpageelement.Class = "__c-form-field__text ng-pristine ng-invalid ng-touched" Then
webpageelement.Value = "777"
End If
Next webpageelement


End Sub
excel vba excel-vba getelementsbyclassname
1个回答
0
投票

您可以使用querySelector + class name查找元素。

类似

'Find the input box
objIE.document.querySelector("input.__c-form-field__text").value = "test"

'Find the search button and do a click
objIE.document.querySelector("button.__c-btn").Click

无需遍历元素。除非站点允许您同时搜索多个跟踪号。

© www.soinside.com 2019 - 2024. All rights reserved.