Невозможно нажать кнопку-переключатель, где порядок переключения кнопок-переключателей на странице веб-интерфейса Selenium Web Driver Java - PullRequest
0 голосов
/ 27 сентября 2018

Я пытаюсь щелкнуть переключатель, который меняет порядок на странице пользовательского интерфейса.Но есть одна вещь, исправленная, что переключатель, который я хочу нажать, находится рядом с текстом "Reissue ID Card"

Ниже приведен HTML-код веб-страницы:

<tbody>
<tr class="gridcell">
<tr class="gridcell">
<tr class="gridcell">
<td valign="bottom" style="border-right: 1px solid rgb(160, 160, 160);">
<td width="51" align="center" style="width:46px;">
<input id="rdbSelectAction" type="radio" onclick="fnRowSelected(this);" value="37089~8/8/2018 12:00:00 AM" name="rdbSelectAction" oldchecked="false">
</td>
<td width="140"> Reissue ID Card </td>
<td width="82"> 8/6/2012 8:07:15 AM </td>
<td width="82"> 8/8/2018 12:00:00 AM </td>
<td width="89"> Directory 2018 </td>
<td width="94"> Closed Unsuccessful - Need to Reissue ID Card Closed Unsucc </td>
<td width="103"> Admin </td>
<td width="78"> 6578 </td>
<td width="129"> 91890 </td>
<td width="330"> 000004503701/01/2012 </td>

Я использую следующий созданный xpathсверху HTML, но не повезло:

 //tr[contains(@class, 'gridcell')]/td[contains(text(), 'Reissue ID Card')]

Ответы [ 2 ]

0 голосов
/ 05 октября 2018

Я создал следующий xpath из HTML, доступный в приведенном выше вопросе, и я могу нажать кнопку с динамическим изменением положения .:10000 *

//tbody/tr/td[contains(text(),'Reissue ID Card')]/preceding-sibling::td[1]/*[@id='rdbSelectAction']
0 голосов
/ 01 октября 2018

Сохраните ваши элементы в списке, найдите идеальное совпадение и нажмите на ваши элементы.

 WebElement radioButton = driver.findElement(By.Xpath("Your Xpath"));
    String radioButtonName = "Reissue ID Card";
    List<WebElement> listRadioButton = driver.findElements(radioButton);
                System.out.println("List of Radio Buttons are available " + listRadioButton);
                Iterator<WebElement> iter = listRadioButton.iterator();
                System.out.println("Iterator Print" + iter);
                while (iter.hasNext()) {
                    WebElement we = iter.next();
                    System.out.println("Web Element We " + we.getText());
                    if (we.getText().equals(radioButtonName)) {
                        we.click();
                    }
                }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...