Автоматизация веб-страницы VBA: установите переключатель в следующем ТД со ссылкой на предыдущий ТД без идентификатора
Я пытаюсь автоматически щелкнуть переключатель на веб-странице. Вот соответствующий HTML-код:
<TD width="25%"><SPAN>RW B</SPAN></TD>
<TD width="15%"><INPUT onclick="SetAccessLevel('B','RW');" id=Ctrl_59296626_ctl95 type=radio value=ctl95 name=Ctrl_59296626$GroupAccess></TD>
Я хочу нажать кнопку радио во втором TD.
Я не могу использовать идентификатор элемента, потому что я намерен использовать тот же макрос на других веб-страницах того же типа, где идентификатор и значение отличаются, но макет идентичен.
На веб-странице это так же просто, как щелкнуть переключатель, расположенный рядом с текстом "RW B".
Я пытался заставить макрос привязаться к предыдущему TD с помощью innerhtml "RW B", а затем щелкнуть элемент INPUT в следующем теге TD.
До сих пор я пробовал следующее безуспешно:
1
For Each ele In objIE.Document.getElementsByTagName("span")
If ele.innerHTML Like "RW B" Then
ele.NextSibling.FireEvent ("onclick")
End If
Next
2
For Each ele In objIE.Document.getElementsByTagName("span")
If ele.innerHTML Like "RW B" Then
ele.NextSibling.Children(0).FireEvent ("onclick")
End If
Next
3
Var element = objIE.Document.querySelector("input[onclick^='SetAccessLevel('B','RW'']")
4
For Each ele In objIE.Document.getElementsByTagName("td").
If ele.innerHTML Like "RW B" Then
ele.NextSibling(0).Firevent ("onclick")
End If
Next
Я также попробовал варианты element.Focus, element.Click вместо метода FireEvent.
Любая помощь приветствуется, потому что я потратил слишком много часов, пытаясь заставить это работать. Заранее спасибо!
РЕДАКТИРОВАТЬ: Вот еще HTML-код со страницы -
<DIV style="BORDER-TOP-STYLE: ridge; BORDER-BOTTOM-STYLE: ridge; BORDER-RIGHT-STYLE: ridge; BORDER-LEFT-STYLE: ridge"><TABLE width="98%">
<TBODY>
<TR>
<TD width="25%"><SPAN style="FONT-WEIGHT: bold">Group Name</SPAN></TD>
<TD width="25%"><SPAN style="FONT-WEIGHT: bold; align: center">Access Rights</SPAN></TD>
<TD width="15%"><SPAN style="align: center"></SPAN></TD>
<TD width="25%"><SPAN style="FONT-WEIGHT: bold">Owners</SPAN></TD>
<TD width="15%"><SPAN style="align: center"></SPAN></TD></TR>
<TR>
<TD width="25%"><SPAN>Group RW B</SPAN></TD>
<TD width="25%"><SPAN>RW B</SPAN></TD>
<TD width="15%"><INPUT onclick="SetAccessLevel('B', 'RW');" id=Ctrl_59296626_ctl95 type=radio value=ctl95 name=Ctrl_59296626$GroupAccess></TD>