Как сделать так, чтобы Selenium нажимал правую радиокнопку на основе текста в таблице? - PullRequest
1 голос
/ 23 декабря 2011

Хорошо, учитывая следующую ситуацию:

<tr>
   <td> input="the wrong radio button" </td>
   <td> the wrong title </td>
</tr>
<tr>
   <td> input="the right radio button" </td>
   <td> the right title </td>
</tr>

У меня "правильный заголовок" уже сохранен в переменной. Как я могу заставить Selenium щелкнуть правой кнопкой радио?

Радиостанции имеют динамические идентификаторы (например, foo_bar_4711), которые не связаны напрямую с заголовком.

Мне нужно что-то вроде «щелкнуть по переключателю в tr, содержащем тд с текстом, который вы ищете».

Ответы [ 2 ]

3 голосов
/ 23 декабря 2011

Используйте xpath, что-то вроде //td[contains(text(),'the right title')]/../td[1]. Ключ должен использовать .., чтобы вернуться на один уровень вверх по дереву.

1 голос
/ 23 декабря 2011

Вам нужен локатор XPath, который различает две кнопки. Что-то вроде xpath=tr[td[.='the right title']]//input. В английском это означает « кнопка ввода, содержащаяся в строке таблицы, которая содержит ячейку таблицы, текст которой является« правильным заголовком »».

...