xpath получает элемент по индексу

У меня есть следующее выражение xpath

//div[@class="post-content"]//img

который выполняется на html-странице, сканируя изображения. Вышеприведенный запрос возвращает много изображений, но мне нужно только второе в списке.

я пытался

//div[@class="post-content"]//img[1] and
//div[@class="post-content"]//img[position()=1]

без везения

Как мне это сделать?

благодаря

Ответ 1

В XPath индекс начинается с 1 позиции, поэтому

//div[@class="post-content"]//img[2]

должен работать правильно, если вам нужно выбрать каждый второй img в div[@class="post-content"]. Если вам нужно выбрать только 2-й img из всех изображений, которые находятся в div[@class="post-content"], используйте:

(//div[@class="post-content"]//img)[2]

Ответ 2

индексы в XPath основаны на 1, а не на 0. Пытаться

(//div[@class="post-content"]//img)[position()=2]