2017-09-23 90 views
0

我有我想請單擊下面的HTML代碼:我可以點擊VBA中的div嗎?

<div class="ListItems" style="top: 0px;"> 
    <div class="sf-element-list-box-item sfpc-selected" style="top: 0px; 
    height: 15px; line-height: 15px; width: 192px;" title="(All) 7 values"> 
    (All) 7 values</div> 
    <div class="sf-element-list-box-item" style="top: 15px; height: 15px; 
    line-height: 15px; width: 192px;" title="A">A</div> 
    <div class="sf-element-list-box-item" style="top: 30px; height: 15px; 
    line-height: 15px; width: 192px;" title="C">C</div> 
    <div class="sf-element-list-box-item" style="top: 45px; height: 15px; 
    line-height: 15px; width: 192px;" title="D">D</div> 

我現在想點擊列表項D.我在幾個不同的方法都試過了,但我不知道如果我實際上可以點擊一個div。

我想這第一:

Set tags = IE.Document.getElementsByTagName("div") 

    For Each tagx In tags 
     If tagx.innerHTML = "D" Then 
      tagx.Click 
     End If 
    Next 

由於沒有工作,我嘗試這樣做:

For Each x In IE.Document.getElementsByTagName("div") 
      If x.Title = "D" Then 


       x.parentElement.Click 
      Exit For 

     End If 
    Next 

我發現,我無法使用.title僞,.InnerText,或.innerHTML。有誰知道一種方法,我可以點擊或選擇列表項,如果它是一個div?我不相信我正在進入IF語句,這意味着.click永遠不會執行。

+0

執行「點擊」行嗎?你需要做一些調試,並在這裏給我們更多的信息。 –

+0

@TimWilliams點擊行會執行,但由於某些原因,它實際上並不工作。 – jameslennberg

+0

您是否可以使用鼠標直接在頁面上單擊「D」,或者您是否必須首先單擊其他內容?如果沒有其他頁面的背景,很難提出任何建議 –

回答

0

您可以在VBA做到這一點在fireEvent

tagx.FireEvent "onclick" 

這是觸發VBA事件的方式。

編輯:並確定您可以使用innerHTMLinnerText。返回的元素實現IHTMLElement接口。你可以看看documentation支持哪些屬性。