У меня на сайте странное поведение TestCafe. У меня есть два флажка на сайте и кнопка, которая переводит меня к следующему шагу, как только я нажимаю на нее. Когда страница загружается, кнопка становится видимой и не подвергается никаким манипуляциям.
Вот разметка кнопки:
<button id="confirmation-submit" type="submit" class="btn btn-success pull-right hidden-xs">
<span class="glyphicon glyphicon-flag"></span>
order now
</button>
Вот как выглядит мой код (часть, соответствующая этой проблеме):
const submitOrderBtn = Selector('button[type="submit"].btn-success');
//const submitOrderBtn = Selector('#confirmation-submit');
test('complete order', async t =>{
await t
.click(submitOrderBtn)
В хроме он показывает мне эту картинку:
Вывод командной строки следующий:
Кнопка видна все время, и даже когда я просматриваю сайт с помощью инструментов разработчика, кнопка есть, и у нее есть идентификатор (подтверждение-отправка), по которому я хочу, чтобы на нее нажали.
Как я могу обойти эту проблему? На других страницах я могу без проблем использовать функцию .click.
display: hidden
иvisibility: none
. Вы можете проверить это в Computed CSS Properties в DevTools. В вашем случае#confirmation-button
может быть невидимой кнопкой, спрятанной где-то в реальном видимом элементе. Кроме того, вы можете попробовать изменить размер окна браузера с помощью resizeWindow действие. Это может помочь, если ваш макет адаптивный или это проблема с прокруткой. - person Andrey Belym   schedule 07.12.2017