У меня была похожая проблема с выпадающим списком, созданным с помощью Ajax.
Когда пользователь вводит поле, система отображает AJAX div
w с несколькими опциями, каждая из которых представляет собой ссылку с target='#'
И, что еще хуже, на * была вызвана функция onChange () , который заполнил системный флаг, и этот флаг будет использоваться в качестве проверки в форме ..submit () (о, боль)
В любом случае, мое решение для этого:
1 - команда Selenium sendKeys , чтобы появился div Ajax
<tr>
<td>sendKeys</td>
<td>id=txtTipoDocumento</td>
<td>ipsum lorem</td>
</tr>
2 - дождаться появления ссылки с ожидаемой опцией
<tr>
<td>waitForElementPresent</td>
<td>link=ipsum lorem</td>
<td></td>
</tr>
3 - селен щелкните по по ссылке
<tr>
<td>clickAt</td>
<td>link=ipsum lorem</td>
<td>10,20</td>
</tr>
4 - Вот ОДИН из уловов: вручную запустите onChange () И размытие событий.Кроме того, используйте браузер, чтобы установить фокус на другое поле
<tr>
<td>fireEvent</td>
<td>id=txtTipoDocumento</td>
<td>blur</td>
</tr>
<tr>
<td>fireEvent</td>
<td>id=selSerie</td>
<td>change()</td>
</tr>
<tr>
<td>fireEvent</td>
<td>id=selSerie</td>
<td>blur</td>
</tr>
<tr>
<td>focus</td>
<td>id=imgDataElaboracao</td>
<td></td>
</tr>
5 - И наконец, чтобы убедиться, я заставил Selenium выполнить команду ClickAt () в SubmitКнопка forme, между командами mouseDown и MouseUp
<tr>
<td>mouseDown</td>
<td>id=btnSalvar</td>
<td></td>
</tr>
<tr>
<td>focus</td>
<td>id=btnSalvar</td>
<td></td>
</tr>
<tr>
<td>clickAt</td>
<td>id=btnSalvar</td>
<td>10,20</td>
</tr>
Не элегантно, но работает.