monkerwack
(monkerwack)
#1
Доброго времени суток!
Я использую Selenium IDE 1.7.2.
Возник такой вопрос:
Как сэмулировать нажатие кнопки с динамическим id (генерируется на сервере)?
вот моя кнопка:
<button id="OpenForm_InplaceFormCollectionContainer_000000019CFE5BA653CF40DF8A87F5C1EBF7B637-button-to" class="mailButton ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only ui-state-hover" type="button" role="button" aria-disabled="false"></button>
Я использовал селектор:
css=button[id$="-button-to"]
Автоматическим тестом Selenium IDE кнопка подсвечивается, но не нажимается.
В логе появляется сообщение [error] Element css=button[id$="-button-to"] not found
но если сделать далклик по этой команде, то кнопка отрабатывает.
Заранее спасибо!
mbeider
(mbeider)
#2
you should use xpath locator using contains() method inside.
polusok
(Mykhailo Poliarush)
#3
Может быть баг в Selenium IDE. Можно еще попробовать использовать xpath c функциями contains(), starts-with(), ends-with()
http://www.w3schools.com/xpath/xpath_functions.asp
Vitalii
(Vitalii)
#4
<tr>
<td>click</td>
<td>//*[contains(@id, '-button-to')]</td>
<td></td>
</tr>
oleksergey
(oleksergey)
#5
Из личного, правда не очень большого опыта, могу сказать что ends-with() не поддерживается selenium. Вместо ends-with() я использовал substring().
Выглядит это так:
//E[substring(@A, string-length(@A) - string-length('t')+1)='t']
monkerwack
(monkerwack)
#6
Thanks people, using xpath locator with "contains" method really helped to deal with this issue.
Much appreciated.