#selenium #selenium-webdriver #ui-automation
#selenium #selenium-webdriver #пользовательский интерфейс-автоматизация
Вопрос:
У меня есть веб-таблица, в которой отображаются некоторые данные на основе некоторых критериев фильтра поиска. Итак, на самом деле у нас всего — 50 строк. Но после применения фильтра в таблице отображается только 1. Здесь проблема в том, что в DOM отображаются все 50 строк, включая ту 1, которая видна.
<table-row style="height: 32px; line-height: 32px; transform: translateY(0px);">
<table-row style="height: 12px; line-height: 12px; transform: translateY(32px); display:none;">
<table-row style="height: 12px; line-height: 12px; transform: translateY(38px); display:none;">
<table-row style="height: 12px; line-height: 12px; transform: translateY(41px); display:none;">
Теперь единственный вариант, который у меня есть, — использовать эту отображаемую часть атрибута -«style»I, поскольку мне нужны только те строки, которые не содержат этого параметра отображения, нет в их атрибуте стиля. я пытаюсь использовать xpath, как
показано ниже, но он не работает `
//table-row[not(contains(@style,'%display: none%')]
Комментарии:
1. Вы уверены, что ваш HTML выглядит именно так? Я не вижу закрывающих тегов (
</table-row >
)
Ответ №1:
Вам нужно удалить эти начальные и конечные %
символы и добавить закрывающую скобку:
//table-row[not(contains(@style,'display:none;'))]
Комментарии:
1. Спасибо за ответ. Он разрешил мой запрос. Там был пробел, я просто удалил его, и это сработало.