2016-03-27 25 views
2

Tüm düğmelerin aynı sınıf adına sahip olduğu ve düğmenin yalnızca farklılaştıran bölümünün "veri dojo ek bağlantı noktası" olduğu bir web sitem var.Excel VBA - Düğmeler aynı ada sahip olduğunda bir düğmeyi tıklatın

Bu düğmeye tıklamaya veya bu alanı ve giriş değerlerini seçmeye çalışıyorum. Böyle

<div class="btn btn-default" type="button" data-dojo-attach-point="searchAddress">Search</div> 

<div class="btn btn-default" type="button" data-dojo-attach-point="buildToAddress">Build to Address</div> 

yani

Set element = .document.getElementsByClassName("btn btn-default") 
element.Item(0).Click 

kimse Doğru düğmesine tıklamayı seçebilirsiniz biliyor mu?

Şimdiden teşekkürler!

+1

'getAttribute (" veri dojo-attach-point ")' ı deneyin. – Comintern

cevap

1

İşte bir örnek. Ben C:\tmp.htm kaydedildi:

<html> 
    <title>test</title> 
    <body> 
     <div class="btn btn-default" type="button" data-dojo-attach-point="searchAddress">Search</div> 
     <div class="btn btn-default" type="button" data-dojo-attach-point="buildToAddress">Build to Address</div> 
    </body> 
</html> 

Ve aşağıdaki kodu başlattı: Düğüm data-dojo-attach-point="buildToAddress" sahip hedef karşılık geldiğini "Adres kurmak" olduğu komut penceresi objNode.innerText görebileceğiniz gibi

Sub Test() 

    Dim colNodes As Object 
    Dim objNode As Object 
    Dim strTarget As String 

    strTarget = "buildToAddress" 
    With CreateObject("InternetExplorer.Application") 
     .Navigate "file://C:\tmp.htm" 
     .Visible = True 
     Do While .Busy Or Not .readyState = 4: DoEvents: Loop ' wait IE 
     Do Until .document.readyState = "complete": DoEvents: Loop ' wait document 
     Set colNodes = .document.getElementsByClassName("btn btn-default") 
     For Each objNode In colNodes 
      If objNode.getAttribute("data-dojo-attach-point") = strTarget Then Exit For 
     Next 
     If Not objNode Is Nothing Then 
      Debug.Print objNode.innerText ' "Build to Address" 
      objNode.Click 
     End If 
     .Quit 
    End With 

End Sub 

.

+0

Mükemmel çalışıyor! Çok teşekkür ederim! – nonexistence

İlgili konular