@rsytrade

Как логически объединить два XPath?

На HTML странице нужно собрать все ссылки, которые содержаться в следующих тегах:
<a class="article-list-link href="..."">text</a>и
<li class="section-list-item"><a href="..."> text</a></li>

Я их забираю методом xpath, если по отдельности то:
xpath('//li[@class="section-list-item"]/a/@href').getall()
xpath('//a[@class="article-list-link"])/a/@href'). getall()

а можно ли логически объединить два xpath из собрать все ссылки одним выражением?
  • Вопрос задан
  • 247 просмотров
Решения вопроса 1
Lynn
@Lynn
nginx, js, css
Так?
xpath('//li[@class="section-list-item"]/a/@href | //a[@class="article-list-link"]/@href').getall()
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
mayton2019
@mayton2019
Bigdata Engineer
Не спец в питонах. Но если getAll возвращает списки то их можно соединить через +.

list1 = xpath('//li[@class="section-list-item"]/a/@href').getall()
list2 = xpath('//a[@class="article-list-link"])/a/@href'). getall()
result = list1 + list2
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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