Необходимо выбрать строки из веб-таблицы

#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. Спасибо за ответ. Он разрешил мой запрос. Там был пробел, я просто удалил его, и это сработало.