@Feomatar4eg

Python. Selenium. Парсится лишняя информация, как скорректировать путь?

Html код страницы вот такой:
<div class="product_item__description ">
	<div>
        9 000&nbsp;
		<span class="rub">
		<!--noindex-->
		<b>&#8381;</b>
		<!--/noindex-->
		<i class="rub__old">руб.</i></span>
	</div>
	<div class="product_item__old-price">
                  10 000&nbsp;<span class="rub">
				  <!--noindex--><b>&#8381;</b>
				  <!--/noindex-->
				  <i class="rub__old">руб.</i></span>
	</div>
</div>

Пытаюсь спарсить только вот это: " 9 000 " следующим кодом:
prices= driver.find_elements_by_css_selector("div.product_item__description > div")


Получаем в prices массив цен. В большинстве случаев нет, тогда все хорошо колличество товаров = колличеству цен в массиве prices, но когда old-price присутствует то в массив prices записывается 2 цены " 9 000 " и 10 000 .

Вот собственно вопрос как сделать так что бы selenium брал данные только из первого div а второй где old price игнорил
  • Вопрос задан
  • 82 просмотра
Пригласить эксперта
Ответы на вопрос 2
dimonchik2013
@dimonchik2013
non progredi est regredi
у второго ж класс специальный есть ))
product_item__old-price
выбирайте div без него да и все

второй вариант - берите просто первый div, но это криво, если там окажется пустой
Ответ написан
hottabxp
@hottabxp Куратор тега Python
Сначала мы жили бедно, а потом нас обокрали..
Обращайтесь к первому элементу div:
prices= driver.find_elements_by_css_selector("div.product_item__description > div")
print(prices[0].text)

Только что попробовал, работает.
Ответ написан
Ваш ответ на вопрос

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

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