2016-07-30 3 views
0

Я пытаюсь заставить мой скрипт нажать кнопку Enter Response, расположенную в той же строке, что и конкретный текст (SID). Я могу найти и раздельно, но не могу заставить обе работать одновременно.Selenium IDE Нажмите кнопку в строке, идентифицированной по тексту

Таблица динамична, поэтому я использую SID, находя ее строку, а затем хочу нажать на кнопку ответа. И.Е. найти текст '123456' & Нажмите «Enter Response», найденный в той же строке.

Я пробовал это, но не получаю локатор ошибок не найден: // tr/td/a [@ class = 'title-abbr' и text() = '123456']/next-sibling :: td/а [текст() = 'Введите ответ']

Таблица Заголовки строк: Заголовок/Source/Источник ID/SID/дате создания/(Введите кнопку ответа)/Форма Тип

<tr> 
    <td class="t-Report-cell" headers="TITLE_ABBR">this is my title</td> 
    <td class="t-Report-cell" headers="SOURCE_NAME">source1</td> 
    <td class="t-Report-cell" headers="SOURCE_NUMBER">142417</td> 
    <td style="background-color: rgb(13, 13, 13);" class="t-Report-cell" headers="SID_ABBR"> 
     <a href="javascript: void(0);" title="123456" class="title-abbr" style="text-decoration: none; background-color: transparent;">123456</a> 
    </td> 
    <td class="t-Report-cell" headers="TRANSACTION_DATE">07/28/2016</td> 
    <td style="background-color: rgb(13, 13, 13);" class="t-Report-cell" headers="LINK" align="center"> 
     <a style="background-color: rgb(0, 255, 255);" class="response-btn" href="f?p=58117:50:27077013481519::NO::P50_TRIGGER_ID:321860">Enter Response</a> 
    </td> 
    <td class="t-Report-cell" headers="FORM_TYPE">Questions</td> 
</tr> 

Любая помощь будет будем очень благодарны!

ответ

0

, если я смотрю прямо, вы должны сначала добраться до родительского узла, прежде чем пытаться добраться до следующего брата .... потому что «» элемент не имеет родственный, поэтому в основном что-то вроде этого:

// tr/td/a [@ class = 'title-abbr' и text() = '123456'] /../ next-sibling :: td/a [текст() = 'Enter Response']

Вы также можете просто использовать следующий-sibling :: td [2] вместо выбора по тексту во второй части xpath, но, возможно, вам это нужно по какой-то причине.

Btw некоторые советы:

  • Если элемент может иметь несколько классов стилей, вы должны использовать содержит
  • То же самое относится и к тексту, остерегайтесь пространств и т.д., вы должны обрезать текст или использовать содержит во избежание неправильных селекторов
+0

спасибо! Он прекрасно работал :) и спасибо за объяснения и советы. Теперь это имеет гораздо больше смысла! – autojay

Смежные вопросы