我在点击特定标签时遇到问题,我无法点击元素,我想点击"二月";但是我的脚本不起作用,这是我制作的脚本:
Set kkptS = HTMLdoc.getElementsByTagName("li")
For Each kkpt In kkptS
If HTMLdoc.getElementsByTagName("li")(44).innerText = "february" Then
HTMLdoc.getElementsByTagName("li")(44).getAttribute("class") = "active"
End If
Next kkpt
和HTML代码:
<ul class="nav nav-pills nav-stacked">
<li class="" "="">
<a href="#m0" data-toggle="tab">
Year</a>
</li>
<li class="active">
<a href="#m1" data-toggle="tab">
January</a>
</li>
<li>
<a href="#m2" data-toggle="tab">
February</a>
</ul>
如有任何帮助,我们将不胜感激。谢谢
以下代码假设类名"nav nav-pills nav-stacked"
在HTML文档中只出现一次,或者所需的ul标记至少是第一个具有这些类名的标记。
如果您只需要单击febuary
,您可以使用:
HTMLdoc.getElementsByClassName("nav nav-pills nav-stacked")(0).getElementsByTagName("a")(2).Click
对单击进行硬编码
如果您需要在任何一个月点击,请使用此子:
Sub ClickMonthTab(HTMLdoc As Object, month As String)
Dim kkptS As Object
Dim kkpt As Object
Set kkptS = HTMLdoc.getElementsByClassName("nav nav-pills nav-stacked")(0).getElementsByTagName("li")
For Each kkpt In kkptS
If InStr(1, kkpt.innertext, month) Then
kkpt.getElementsByTagName("a")(0).Click
Exit For
End If
Next kkpt
End Sub
您可以通过以下方式使用子:
Sub CallClickMonthTab()
Dim HTMLdoc As Object
Dim monthName As String
'Your code to open document
'...
'...
'Set month and click the right tab
monthName = "febuary"
Call ClickMonthTab(HTMLdoc, monthName)
'More of your code
'...
'...
End Sub