Я пишу автоматизированный сценарий, используя Selenium WebDriver с Ruby. В случае, у меня нажать на кнопку «Отмена» и после это HTML-код для него:Невозможно нажать кнопку «Отмена»
<div class="ui-dialog-buttonset">
<button class="otherButtonClass" type="button" role="button" aria-disabled="false">
<span class="ui-button-text">Rename</span>
</button>
<button class="cancelButtonClass" type="button" role="button" aria-disabled="false">
<span class="ui-button-text">Cancel</span>
</button>
</div>
Для нажатия на «Отмена» кнопку, я написал следующее:
driver.find_element(:xpath, "//button[@class='cancelButtonClass']").click
здесь действие щелчка не происходит. Я попробовал спать, wait.until {element.displayed? } все еще проблема не была решена. Ошибка выброшен является «Элемент не виден и, следовательно, не может быть взаимодействовали с»
Однако, если я выполняю нажмите действия на кнопку «переименовать», это работает:
driver.find_element(:xpath, "//button[@class='otherButtonClass']").click
Пожалуйста, помогите мне понять, почему это происходит. Я смущен: «Переименовать» и «Отменить» имеют похожий код html и по-прежнему нажимают «Переименовать» пропуски, а нажатие «Отмена» терпит неудачу. Почему так?
Да, я согласен, я предложил решение, только если CSS кнопки динамический. – Karthikeyan