Автоматизация веб-страницы 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>

0 ответов

Другие вопросы по тегам