希望这是一个非常简单的问题。我正在使用cmd
和IE11
引用已激活的HMTL Object Library
。我对VBA不太满意,因此代码中可能会有很多杂音。
按钮上没有元素ID,但是由于this post的支持,因此可以通过添加一些html和xml声明来使用Internet Controls
。我要输入一个名称和城市,然后从excel中输入州名,然后将其插入网站,然后单击搜索按钮,但这是发生我的错误的地方。经典的运行时错误ie.Document.getElementsByClassName
知道如何解决和继续吗?
VBA:
'438': Object doesn't support this property or method.
答案 0 :(得分:3)
我简化了您的代码。您确实不需要将每个元素都设置为变量。从长远来看,这只会浪费资源。
使用ClassName submiter__text
来抓住您的提交按钮,它的索引为0
。
Sub HGScrape()
Const sURL As String = "https://www.healthgrades.com/"
Dim ie As New InternetExplorer
With ie
.Visible = True
.Navigate sURL
While .Busy Or .ReadyState < 4: DoEvents: Wend
.Document.getElementById("search-term-selector-child"). _
Value = ActiveSheet.Range("A2")
.Document.getElementById("search-location-selector-child"). _
Value = ActiveSheet.Range("B2")
.Document.getElementsByClassName("submiter__text")(0).Click
While .Busy Or .ReadyState < 4: DoEvents: Wend
End With
End Sub
”。为什么“ submitter_text”类是正确的类?”
解释它的最好方法是向您展示。如果不确定要进行什么选择,请右键单击该元素,然后选择“检查元素”,然后在高亮显示的行中查找。