我知道关于如何选中复选框的问题很少,但我处理的情况不可能。
以下是网页代码示例:
<tr class="odd">
<td>
<input type="checkbox" name="device_id" value="3896">
</td>
<td>text1</td>
<td>text2</td>
<td>xxx</td>
<td>
Good
</td>
<td>
</td></tr>
<tr class="odd">
<td>
<input type="checkbox" name="device_id" value="3955">
</td>
<td>text3</td>
<td>text4</td>
<td>xxx</td>
<td>
Good
</td>
<td>
</td></tr>
这只是一个样本,有数百个这样的“条目”。
我有一个宏打开一个页面并导航到应该的位置。检查基于值的复选框也不是问题,值是数据库在内部分配给text1 / text2,text3 / text4等的ID。问题是我不知道该ID,我所知道的只有text1 / text2,text3 / text4等。
我正在努力的是,如果我只知道那些文本,如何检查该复选框?我知道有一种方法如何匹配文本和ID,然后使用该ID来检查复选框,但我不知道如何进行匹配。任何帮助将不胜感激: - )
谢谢。
答案 0 :(得分:0)
这对我有用:
查找&#34; tr&#34;部分主机名或IP是,然后只读取ID值。
' find tr and ID
For i = 1 To 5000
checkdevX = ie.Document.getElementsByTagName("tr")(i).innerText
If InStr(checkdevX, "text2") Then
idvalue = ie.Document.getElementsByTagName("tr")(i).getElementsByTagName("td")(0). _
getElementsByTagName("input")(0).getAttribute("value")
Exit For
End If
Next i
' check checkbox
Set CheckBox = ie.Document.getElementsByTagName("input")
For Each idnumber In CheckBox
If (idnumber.getAttribute("value") = idvalue) Then
idnumber.Click
Exit For
End If
Next