Xpath для многостолового элемента td - PullRequest
0 голосов
/ 21 июня 2019

Есть веб-таблица, в которой мне нужно выбрать из 1-й строки только 2-й, 3-й и 4-й столбцы. Я попытался с помощью оператора AND, чтобы выбрать несколько TD, но этот Xpath не работает.

Xpath для 1-го ряда, который работает хорошо

((//div[contains(@id,'ReportGridStyle_forRW')])[2]//tbody/tr)[2]

Xpath для выбора td 2nd работает хорошо

((//div[contains(@id,'ReportGridStyle_forRW')])[2]//tbody/tr)[2]//td[position()=2]

Xpath для выбора 2-го, 3-го и 4-го столбцов. НУЖНА ПОМОЩЬ не работает

 ((//div[contains(@id,'ReportGridStyle_forRW')])[2]//tbody/tr)[2]//td[position()=2 and position()=3 and position()=4]

1 Ответ

0 голосов
/ 21 июня 2019

Если вы действительно хотите использовать XPath, сделайте следующее:

  • descendant топор для обхода тега таблицы, чтобы найти первый элемент tr
  • position() функция, позволяющая ограничить количество строк до "интересных":

    //table/descendant::tr[1]/td[position() >= 2 and position() <= 4]
    

Ссылки:

Также помните, что вы можете использовать Класс таблиц из Html Elements Framework - он предоставляет вам понятный API для работы с таблицами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...