复选框是表格中一行的一部分,以及其他一些数据。我的想法是登录网站(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
结束我在其他论坛中找到的所有其他方式来使其工作,尽管这最接近工作。这意味着当我在变量中对名称进行硬编码而没有&#34;计算位置&#34;一部分。
有人可以就我的问题向我提出建议吗? 非常感谢
答案 0 :(得分:0)
Member(4).parentElement.getElementsByTagName("input")(0).Click
如果复选框是该行的第一个输入元素,则应该这样做。