Как работает xpath в lxml?

Здравствуйте, возникла непонимание как работает xpath в lxml.

import lxml.html as parser

text = '''
<div id="main">
	<div>
		<a href="#">1</a>
	</div>
	
	<div>
		<a href="#">2</a>
	</div>
	
	<div>
		<a href="#">3</a>
	</div>
	
	<div>
		<a href="#">4</a>
	</div>

</div>
'''

def get_info():
    html = parser.document_fromstring(text)

    divs = html.xpath('//div[@id="main"]/div')

    print(len(divs))#4

    div = divs[0].xpath('///a')

    print(len(div))#4

if __name__ == '__main__':
    get_info()


Первый xpath выдает все правильно. 4 div есть в html коде.
Почему тогда, когда я ищу с помощью xpath в div, то xpath опять ищет по всему html коду, а не относительно заданного div? Как сделать правильно?
  • Вопрос задан
  • 300 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы