Xpath для динамического выбора меню

Я пытаюсь автоматизировать веб-тестирование с помощью Kantu и Selenium. Страница использует pq-select ParamQuery для создания меню выбора, но ни Kantu, ни Selenium не могут видеть их на странице.

Я предполагаю, что лучше всего использовать xpath для их поиска, но я не совсем уверен, как это сделать. HTML для меню выбора:

<td style = "white-space: nowrap " aria-describedby = "df230254-d8a5-4ba1-9950-58d26145d5a9" role = "gridcell" data-container-for = "section1" id = "sectiongrid_active_cell" class = "">

Я думаю, что если бы я мог использовать data-container-for, это было бы лучше всего, но я не уверен, как получить это через xpath.

Приведенный выше html не является PQ select. Пожалуйста, обновите родственные связи элемента td.

Navarasu 27.10.2018 14:16

Если локатор XPath не работает или вызывает затруднения, возможно, вы можете проверить изображение (снимок экрана) меню вместо этого с помощью visualAssert?

Fabrice Zaks 01.11.2018 00:47
Blibli Automation Journey - Как захватить сетевой трафик с помощью утилиты HAR в Selenium 4
Blibli Automation Journey - Как захватить сетевой трафик с помощью утилиты HAR в Selenium 4
Если вы являетесь веб-разработчиком или тестировщиком, вы можете быть знакомы с Selenium, популярным инструментом для автоматизации работы...
1
2
200
1

Ответы 1

В соответствии с HTML-кодом, которым вы поделились, вы можете использовать любое из следующих решений:

  • XPath - 1:

    //td[@id='sectiongrid_active_cell' and @data-container-for='section1']
    
  • XPath - 2:

    //td[@id='sectiongrid_active_cell' and @data-container-for='section1'][@role='gridcell']
    

Примечание: элемент является элементом ParamQuery выберите, который преобразуется в готовый виджет jQueryUI, вы должны вызвать WebDriverWait, чтобы элемент был видимым / интерактивным.

Спасибо за это, к сожалению, Kantu просто указывает время ожидания, когда 'waitForVisible', используя оба предоставленных вами xpath. Я пробовал несколько разных приложений автоматизации, все они терпят неудачу при попытке найти эти динамические элементы.

Tony 27.10.2018 13:59

@Tony Можете ли вы обновить вопрос с помощью пробных версий кода?

DebanjanB 27.10.2018 14:02

Что ж, все мои тесты написаны на Kantu, поэтому достаточно просто открыть страницу и найти этот элемент, вот и все.

Tony 27.10.2018 14:14

Другие вопросы по теме