Я пытаюсь автоматизировать навигацию к внешнему веб-сайту. Для этого мне нужно нажать на кнопку (чтобы показать следующую неделю в календаре fullcalendar ). Fullcalendar addon для Vaadin выглядит следующим образом .
Кнопка определена в HTML как ( Электрон 80 инструмент разработчика):
<div id="content">
<vaadin-vertical-layout class="layoutCalendar" theme="padding spacing" style="width: 80%;">
<div class="buttonContainer">
<vaadin-button class="custom-button" theme="icon" tabindex="0" role="button">
<iron-icon icon="vaadin:angle-double-left"></iron-icon>
</vaadin-button>
<vaadin-button class="custom-button" tabindex="0" role="button">Today</vaadin-button>
<vaadin-button class="custom-button" theme="icon" tabindex="0" role="button">
<iron-icon icon="vaadin:angle-double-right"></iron-icon>
</vaadin-button>
<vaadin-button class="custom-button" theme="icon" tabindex="0" role="button">
<iron-icon icon="vaadin:calendar"></iron-icon>
<vaadin-date-picker tabindex="0" style="visibility: hidden; width: 0px; position: fixed; height: 0px;"></vaadin-date-picker>
</vaadin-button>
</div>
<full-calendar class="calendar" style="background: rgb(255, 255, 255);"></full-calendar>
</vaadin-vertical-layout>
</div>
Определен ее xpath (из Firefox 68 устройств разработки) as:
//*[@id="button"]
Поэтому я добавил команду click
в Selenium IDE со следующим текстом в поле назначения:
xpath=//*[@id="button"]
Но, конечно же, как и все кнопки (а именно предыдущая или сегодня один) использовать тот же идентификатор, который не работает (Failed:
09:44:37
Implicit Wait timed out after 30000ms
.
. Поэтому я попытался с xpath:
<vaadin-button class="custom-button" theme="icon" tabindex="0" role="button"><iron-icon icon="vaadin:angle-double-right"></iron-icon></vaadin-button>
xpath, определенным как:
/div[1]/vaadin-vertical-layout/div/vaadin-button[3]
Итак, в Selenium IDE я ввел в поле назначения:
xpath=//div/vaadin-vertical-layout/div/vaadin-button[3]
с тем же результатом.
Более того, использование Find target in page
не выделяет кнопку и использование Select target in page
возвращает css=calendar-view
и заканчивается таким же образом (не нажимает на кнопку).
Следовательно, как я могу нажать на эту кнопку и почему Selenium IDE не показывает ошибку, если не может найти элемент? Кроме того, я должен переключить Selenium (не IDE) или достаточно Selenium IDE для моих нужд?
Обратите внимание: так как это внешний сайт, которым я не владею, я не могу сказать, какая версия vaadin работает на сайте.
Редактировать: пробуя @ ответ Пита ниже
Я выполнил упражнение на Vaadin FullCalendar Addon demo и заставил его работать с xpath=//vaadin-button[4]
или xpath=//vaadin-button//span[contains(text(),"Next")]
. Я заметил, что Selenium IDE предлагал эти xpath, когда я входил.
Когда я делал то же самое на моем целевом веб-сайте, Selenium IDE предлагал только xpath=//calendar-view
. Более того, хотя инструменты разработчика сообщили, что следующая кнопка (без текста, только значок chevron-right
) на самом деле была 4-й vaadin-button
, Selenium IDE не смогла выделить (или найти) xpath=//vaadin-button[4]
. Это выглядит странно для меня.
Что может помешать Selenium IDE найти кнопку?
Любая помощь с благодарностью: -)