Вопрос по – Selenium IDE и xpath - найдите текст / строку в таблице и выберите переключатель

3

Я пользуюсь Selenium IDE и получаю хорошие результаты. Я много читал о последующем и предшествующем, но не могу найти нужный переключатель.

По сути, я хочу найти строку в таблице со словом «тестирование». а затем нажмите кнопку-переключатель в ячейке.

Пока я могу найти кнопку ввода     // ввод [@ типа = & APOS; радио & APOS;]

и найти текстовое тестирование     // а [содержит (текст (), & APOS; тестирование & APOS;)]

Я пытался использовать это в идеале

check | //input[@type='radio']/following-sibling::td[1]/a[contains(text(),'testing')]

но я получаю ошибку[error] locator not found: //input[@type='radio']/following-sibling::a[contains(text()[1],'testing')]

Любая помощь, чтобы изменить это действительно ценится :)

ура

Damien

вот голый базовый стол ...

<tbody id="list">
<tr>
<th>
<label class="radio">
<input class="presentation_radio" type="radio" value="1" name="presentation_radio">
</label>
</th>
<td>
<a href="/link_to/document">testing </a>
</td>
<td>testing</td>
<td>Joe Acme</td>
<td>Presentation</td>
<td>03 May 2012</td>
<td>5 (1)</td>
</tr>
</tbody>

Ваш Ответ

1   ответ
5

td а такжеinput неsibling (у них нет общего родителя), и даже если вы измените свой xpath на более правильную версию:

//input[@type='radio']/following::td[1]/a[contains(text(),'testing')]

это найдетa которые имеют предыдущий флажок вместо самого флажка. Так что правильный xpath будет:

//a[contains(text(),'testing')]/preceding::input[@type='radio'][1]

или же

//tr[descendant::a[contains(.,'testing')]]//input[@type='radio']

Для учебника оси xpath прочитайте это:http://msdn.microsoft.com/en-us/library/ms256456.aspx

Error: User Rate Limit Exceeded[1]Error: User Rate Limit Exceeded
Error: User Rate Limit ExceededthError: User Rate Limit Exceeded Damien
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded//a[contains(text(),'testing')]/preceding::input[@type='radio'] Damien

Похожие вопросы