2014-03-13 45 views
1

,無法正常工作,我需要一些幫助。 我試圖選擇一個網站上的複選框,但它似乎不工作,因爲我想。經過幾天的嘗試,選擇了網站上的複選框

該複選框是表中一行的一部分,以及其他一些數據。這個想法是,我登錄該網站(http://www.apf.asn.au),轉到表格,從我的Excel表格中找到我需要的數字,然後選擇找到該數字的行中的框。

登錄並導航到表部分工作正常,但我找不到正確的方式來選擇框。從網站

代碼:

<div class="table"> 
    <div> 
    <table class="table APFGrid StudentsSearch" 
      id="ctl00_ContentPlaceHolderMainNoAjax_gvJumpRecordsList" 
      style="border-collapse: collapse;" border="1" rules="all" cellspacing="0" 
     <tbody> 
     <tr>...</tr> 'Header 
     <tr> 
      <td> 
      <span class="clsSelect"> 
       <input 
     name="ctl00$ContentPlaceHolderMainNoAjax$gvJumpRecordsList$ctl02$chkSelect" 
     id="ctl00_ContentPlaceHolderMainNoAjax_gvJumpRecordsList_ctl02_chkSelect" 
     onclick="javascript:ToggleCheckBoxSelection;" type="checkbox"></input> 
      </span> 
      </td> 'Box need to check 
      <td class="Name">...</td> 
      <td class="Name">...</td> 
      <td class="DateBirth">...</td> 
      <td class="APFNum">...</td> 'Number I'm looking for 
      <td class="JumpType">...</td> 
      <td class="DateBooked">...</td> 
      <td>...</td> 
      <td class="Name">...</td> 
     </tr> 
     <tr>...</tr> 
     Etc. 

我用這個代碼:

'Get APF Number from Pipe 
xNr = "20819334" 

'Search Number online 
Dim i As Integer 
i = 0 
For Each Row In APFtable 
    If i = 0 Then 
     Set Member = Row.getElementsByTagName("th") 
    Else 
     Set Member = Row.getElementsByTagName("td") 
    End If 
    i = i + 1 

    On Error Resume Next 
    If xNr = Member(4).innerText Then 

     'Check the corresponding checkbox 

     Exit For 
    End If 
Next Row 

比較數字,在我的例子:XNR,以數字在表中。但我不知道如何檢查框。

我試過這段代碼:

Name = "ctl00$ContentPlaceHolderMainNoAjax$gvJumpRecordsList$ct" & 100 + i & "$chkSelect" 
Set Check = IE.Document.GetElementsByName(Name) 
If Not Check Is Nothing Then 
    Check(0).Click 
End If 

末其他所有方法我能找到在其他論壇得到它的工作,雖然這是最接近於工作。這意味着當我在變量名稱中用「計算位置」部分進行硬編碼時,它起作用。

有人可以對我的問題提出建議嗎? 非常感謝

+0

'Member(4).parentElement.getElementsByTagName(「input」)(0).Click'如果您正在檢查的行上只有一個輸入元素,應該這樣做。 –

+0

+1,可愛的我正在尋找的 – Roffel

+0

發表我的評論作爲答案 - 如果你能接受它,這將幫助有類似問題的人... –

回答

0
Member(4).parentElement.getElementsByTagName("input")(0).Click 

應該這樣做,如果複選框是該行的第一個輸入元素。