无法使用<Li>VBA excel单击特定标记名称()

  • 本文关键字:单击 VBA Li excel excel vba
  • 更新时间 :
  • 英文 :


我在点击特定标签时遇到问题,我无法点击元素,我想点击"二月";但是我的脚本不起作用,这是我制作的脚本:

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

最新更新