xPath последний элемент выбора - PullRequest
1 голос
/ 10 октября 2011

Может кто-нибудь помочь мне заставить этот код работать? У меня есть несколько полей выбора, и я хочу, чтобы в моей переменной было только последнее.

variable = browser.elements_by_xpath('//div[@class="nested-field"]//select[last()]

Спасибо! * * 1004

Ответы [ 2 ]

3 голосов
/ 11 октября 2011

Это часто задаваемые вопросы : оператор [] в XPath имеет более высокий приоритет (приоритет), чем псевдо-оператор //.Вот почему скобки должны использоваться для изменения приоритетов операторов по умолчанию.Есть как минимум несколько похожих вопросов с хорошими объяснениями - найдите их, прочитайте и поймите.

Вместо :

//div[@class="nested-field"]//select[last()] 

Использование :

(//div[@class="nested-field"]//select)[last()] 
0 голосов
/ 10 октября 2011

является ли атрибут класса точным соответствием? если разметка выглядит так

<div class="nested-field other">
...

тогда вам нужно будет либо сопоставить по точному классу, либо использовать xpath содержит.

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