2016-08-02 16 views
-4

我想了解如何点击下面的按钮,因为它们都命名相同。正如你所看到的按钮被命名为“btn-default”两次,但我需要点击包含云的那个。点击一个href时,btn命名相同无处不在

以下代码HTML是我需要用于VB应用程序的内部网站的源代码。基本上,这段代码是向你展示它的样子。

<div class="col-sm-4 col-md-4"> 
    <a href="?login.type=enterprise"> 
     <div class="btn-default"> 
      Enterprise 
     </div> 
    </a> 
</div> 

<div class="col-sm-4 col-md-4"> 
    <a href="?login.type=cloud"> 
     <div class="btn-default"> 
      Cloud 
     </div> 
    </a> 
</div> 

我想通过VBA代码点击云。我有下面这不能做的伎俩。

以下代码是我需要用于Excel VBA的代码VBA。

Set links = IE.document.getElementsByTagName("a") 
For Each Hyperlink In links 
    If InStr(Hyperlink.href, "cloud") Then 
    Hyperlink.Click 
    Exit For 
    End If 
Next 

问题是,我不能使用导航选择,因为它在这一点,我真的需要点击通过代码按钮(BTN-默认)错误。

而下面的解决方案还没有这样的伎俩

Dim ele As Object 

For Each ele In IE.Document.getElementsByClassName("btn-default") 
    If InStr(ele.innerText, "Cloud") > 0 Then ele.Click 
Next 
+0

我想你应该在HTML标签上张贴此,作为你的问题与HTML有关,并且它没有任何VBA代码。 –

回答

0

我不能完全肯定我的理解正确,你正在向我们展示了HTML代码,但写要使用VBA。 这里是一个VBA代码,如果你想创建一个Excel的按钮,为您带来这个链接:“login.type =企业”

Sub Browse() 
Dim ie As Object 
Set ie = CreateObject("Internetexplorer.Application") 
ie.Visible = True 
ie.Navigate "http://example.com/?login.type=enterprise" 
End Sub 

然后你就可以去开发\插入\创建一个按钮按钮并右键单击它并将其分配给上面的宏,并选择“分配宏”。

如果这不是你想要的,请在你的问题中更精确。

+0

抱歉我的问题不准确,我更新了我的问题,因为您的解决方案不能很好地使用。 – OkImnotsook

+0

@Oklmmotsook我看到你的编辑,但现在你显示我的JavaScript和要求的VBA解决方案,所以我仍然不明白。 –

+0

我的解决方案是VBA,请参阅下面的“IE.document.getElementsByTagName” – OkImnotsook

1

这是不是错了我的代码只是一个错误的位置代码,下面添加到等待后IE做了工作:

Do While IE.Busy 
    Application.Wait DateAdd("s", 1, Now) 
Loop 

For Each ele In IE.Document.getElementsByTagName("a") 
    If InStr(ele.innerText, "Cloud") > 0 Then 
     ele.click 
     Exit For 
    End If 
Next 
相关问题