2015-08-26 101 views
0

我一直在試圖選擇使用VBA,我是新來的一個下拉列表中的網頁。在HTML下拉菜單中表述爲按鈕,而不是選擇。這裏是HTML代碼:選擇下拉列表用VBA

<span class='btn-group'> 
    <button id='str_listing-btn' name='str_listing-btn' type='button' class='btn btn-default dropdown-toggle' data-toggle='dropdown' data-value='For Sale'> 
    For Sale 
    <span class='caret' style='margin-left:5px;'> 
    </span> 
    </button> 
    <ul class='dropdown-menu wptk_crud_dropdown' id='str_listing' data-value='str_listing' role='menu'> 
    <li> 
     <a href='#' data-value='For Sale'>For Sale</a> 
    </li> 
    <li> 
     <a href='#' data-value='For Rent'>For Rent</a> 
    </li> 
    <li> 
     <a href='#' data-value='Wanted To Buy'>Wanted To Buy</a> 
    </li> 
    <li> 
     <a href='#' data-value='Wanted To Rent'>Wanted To Rent</a> 
    </li> 
    </ul> 
</span> 

我已經嘗試了幾個VBA代碼來選擇其中一個選項。下面是我用最新的代碼,但運行它後一無所獲,似乎發生在下拉菜單:

Private Sub InsertPropwall_Click() 

Dim objIE1 As Object 
objIE1.navigate ("http://www.propwall.my/classifieds/post_ad?action=add") 

Do 
DoEvents 
Loop Until objIE1.ReadyState = 4 

objIE1.Document.getElementById("str_listing-btn").Value = "For Rent" 

Do 
DoEvents 
Loop Until objIE1.ReadyState = 4 

End Sub 

回答

1

下拉不是一個下拉列表(如你所提到的)。相反,它是一個無序列表,其中有多個鏈接作爲可點擊的選項。隨着中說,該For Rent選項不包含在str_listing-btn。請注意,在任何選項可用之前,該標記是如何關閉的。相反,它包含在它下面的列表中。

因爲我無法進入你的鏈接,而無需創建一個帳戶,我測試了代碼,選擇主頁上的For Rent選項。看看我的代碼,測試它,看它是否確實你需要什麼,然後嘗試將其容納到你的代碼。讓我們知道你是否需要額外的幫助。

Sub NavigateIt() 
    Dim oIE As Object 

    Set oIE = CreateObject("InternetExplorer.Application") 
    oIE.navigate ("http://www.propwall.my/classifieds") 
    oIE.Visible = True 

    Do 
     DoEvents 
    Loop Until oIE.ReadyState = 4 

    Set AvailableLinks = oIE.document.getelementbyid("list-listing").getelementsbytagname("a") 

    For Each cLink In AvailableLinks 
     If cLink.innerhtml = "For Rent" Then 
      cLink.Click 
     End If 
    Next cLink 

End Sub 
+0

嗨用戶3561813,您的解決方案的作品!謝謝!天哪這將是更容易,如果它是在HTML