Python: Что не так с моим выражением xpath? - PullRequest
1 голос
/ 10 июля 2011

У меня есть это:

<div class="down_butt_pad1" style="" id="downloadlink"><a href="http://www.link.com" class="down_butt1" onclick="javascript:window.open('http://s.spam.com','popunder','width=800,height=800,scrollbars=yes,status=no,resizable=yes, toolbar=no'); window.focus();"></a></div>

Я пытаюсь сделать xpath("//div[@id == 'downloadlink']"), но я получаю ошибку ("lxml.etree.XPathEvalError: Invalid expression").

Что не так с тем, что я делаю, и как я могу найти div с идентификатором, который вместо этого имеет ссылку для скачивания?

Ответы [ 2 ]

4 голосов
/ 10 июля 2011

Вы должны использовать один = в XPath. То, что вы ищете, это

"//div[@id='downloadlink']"

Однако , в div нет ничего интересного. Зачем останавливаться на достигнутом? Возможно, вы хотите извлечь URL:

"//div[@id='downloadlink']/a/@href"

Я рекомендую использовать глубокое погружение для извлечения именно того, что вам нужно, вместо того, чтобы останавливаться на элементе контейнера, затем снова вызывать механизм xpath или переключаться в древовидную навигацию.

1 голос
/ 10 июля 2011

Я должен быть

"//div[@id='downloadlink']"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...