Привет всем Я столкнулся с трудностями в выборе динамически сгенерированных кнопок (кнопка удаления). Все кнопки «Удалить» имеют одинаковый идентификатор. Как я могу нажать кнопку «Удалить», выбрав xpath для Lync - пользовательский доступ?Selenium Webdriver: как выбрать динамически сгенерированную кнопку, перейдя по ссылке xpath 0:
У меня есть 3 колонки и 2 ряда в таблице. Я хочу нажать кнопку, которая находится во второй строке.
Я попытался топорами XPATH и мой код выглядит следующим образом: driver.findElement(By.xpath("//a[.='PC/E - Home Branch View ']/following-sibling::/td[3]/input")).click();
Но это бросает ошибку:
«org.openqa.selenium.InvalidSelectorException: Выражение XPATH«// A [ . = 'PC/E - Home Branch View']/next-sibling ::/td [3]/input ' не может быть оценен или не выполняется в WebElement (ПРЕДУПРЕЖДЕНИЕ: сервер не предоставил никакой информации о стеке)
Мой HTML код выглядит так:
<TR>
<TD id="Lync - User Access" class="profileInnerTable">
<A style="CURSOR: hand" class="TabLink" onmouseover="ddrivetip1('Default for CBA users not in RBS Branches','lightyellow',250)" onmouseout="hideddrivetip"() ;>Lync - User Access </A>
</TD>
<TD class="profileInnerTable" align="middle"> </TD>
<TD class="profileInnerTable">
<INPUT style="WIDTH: 100px; HEIGHT: 20px" tabIndex="0" onclick="processRemoveRoleFromDN(form, 'erglobalid=7178977152403244193,ou=roles,erglobalid=00000000000000000000,ou=CBA,dc=com');" value="Remove" type="button" name="removeDiscRole">
</TD>
</TR>
<TR>
<TD id="PC/E - Home Branch View " class="profileInnerTable">
<A style="CURSOR: hand" class="TabLink" onmouseover="ddrivetip1('PC/E access to user\'s Home Branch only - For RBS Branch Users','lightyellow',250)" onmouseout="hideddrivetip"() ;>PC/E - Home Branch View </A>
</TD>
<TD class="profileInnerTable" align="middle"> </TD>
<TD class="profileInnerTable">
<INPUT style="WIDTH: 100px; HEIGHT: 20px" tabIndex="0" onclick="processRemoveRoleFromDN(form, 'erglobalid=3113620533928290009,ou=roles,erglobalid=00000000000000000000,ou=CBA,dc=com');" value="Remove" type="button" name="removeDiscRole">
</TD>
</TR>
Я хочу нажать кнопку удаления (во втором ряду). Может ли кто-нибудь предложить мне, как нажать на кнопку удаления, взяв ссылку с помощью идентификатора или Xpath элементов в одной строке?
PS: если я выполнить код driver.findElement(By.xpath("//input[@name='removeDiscRole']")).click();
это просто нажимает на 1 кнопку Удалить (первая строка).
Привет, ggolding, Спасибо за ваше решение, и я понял, как найти элементы с помощью xPath Axes из вашего объяснения. –
Добро пожаловать :) – ggolding