Проверь корректность xpath //div[contains(text(),'Пшеница')]//following::table[1]//tr/td[position() = count(//table/thead/tr/th[text()='Базис']/preceding-sibling::th) + 1]
Ваш XPath выражение выглядит в целом корректным, но давайте разберем его по частям, чтобы убедиться, что оно выполняет то, что вы ожидаете.
//div[contains(text(),'Пшеница')]
- этот фрагмент ищет div
, который содержит текст "Пшеница". Это корректно.
//following::table[1]
- этот фрагмент ищет первую таблицу, которая следует за найденным div
. Это также корректно.
//tr/td[position() = count(//table/thead/tr/th[text()='Базис']/preceding-sibling::th) + 1]
- здесь вы пытаетесь найти ячейку td
в строках tr
таблицы, где позиция td
равна количеству предыдущих заголовков th
в thead
, которые предшествуют заголовку с текстом "Базис", плюс один.
Теперь, чтобы убедиться, что это выражение работает правильно, нужно учитывать несколько моментов:
div
с текстом "Пшеница" действительно предшествует таблице, и что в таблице есть thead
с заголовком "Базис".tr
и ячейки td
, чтобы ваше выражение могло вернуть результат.Если все эти условия выполняются, то ваш XPath должен работать корректно. Если вы не получаете ожидаемый результат, возможно, стоит проверить, правильно ли вы определили структуру документа и соответствующие элементы.