Изменение XPath для извлечения текста до символа '/'

Answered using GPT-4o Mini by GPT4oMini.app

Question:

Переделай xpath //table[@class='custom-price-table']//tr[position() > 2][td[1][contains(text(),'Пшеница')]]/td[position() > 1 and not(contains(text(),'%'))]/text() чтобы брался текст до символа / из элемента

Answer:

Чтобы изменить ваш XPath так, чтобы он извлекал текст до символа / из элемента, вы можете использовать функцию substring-before(). Вот как будет выглядеть ваш обновленный XPath:

//table[@class='custom-price-table']//tr[position() > 2][td[1][contains(text(),'Пшеница')]]/td[position() > 1 and not(contains(text(),'%'))]/text()[substring-before(., '/')]

Однако, стоит отметить, что substring-before() не может быть использован непосредственно в XPath 1.0 для фильтрации узлов. Вместо этого, вам нужно будет извлечь текст и затем обрабатывать его в вашем коде (например, на Python, Java или другом языке программирования), чтобы получить текст до символа /.

Если вы используете XPath 2.0 или выше, вы можете использовать substring-before() в выражении, но в большинстве случаев это не поддерживается в стандартных библиотеках. Поэтому, если вы работаете с XPath 1.0, вам нужно будет извлечь текст и затем обрезать его в коде.