XPath для выбора `td` по заголовку "Базис"

Ответ дан с помощью GPT-4o от GPT4oMini.app

Вопрос:

Переделай xpath //div[contains(text(),'Пшеница')]//following::table[1]//tr/th[text()='Базис']/following::tbody/tr/td так, чтобы брались только те td, которые соответствуют столбцу в котором указан заголовок th "Базис"

Ответ:

Чтобы выбрать только те td, которые соответствуют столбцу с заголовком th "Базис", можно использовать XPath с учетом позиции столбца. Сначала нужно определить позицию столбца с заголовком "Базис", а затем выбрать td в этом столбце. Вот как это можно сделать:

//div[contains(text(),'Пшеница')]//following::table[1]//tr/th[text()='Базис']/following::tbody/tr/td[count(preceding-sibling::td)+1 = count(//div[contains(text(),'Пшеница')]//following::table[1]//tr/th[text()='Базис']/preceding-sibling::th)+1]

Этот XPath сначала находит позицию столбца "Базис" среди th, а затем выбирает td в соответствующем столбце.