@froja

Как вытащить данные из выплывшего элемента в Python Selenium?

Я выполняю парсинг Озона, используя Python Selenium и вебдрайвер Firefox, мне нужно вытащить ОГРН и имя продавцов из карточки товара, но у меня не получается их вытащить, так как я получаю ошибку ниже:
selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: ._29Sp

На скрине кнопка, на которую нужно нажать, чтобы появился элемент, в котором лежит ОГРН и продавец.
60cb42c261822107915407.jpeg

Пример карточки: https://www.ozon.ru/context/detail/id/208499908/?a...

Вот код, выполняющий обход карточек, нажимающий на кнопку и ищущий элемент после нажатия
for link in links:
                driver.get(link)
                time.sleep(3)

                ogrn_button = driver.find_element_by_class_name('d4w7').find_element_by_class_name('b1c6').find_element_by_class_name('_3zcl')
                if not ogrn_button:
                    pass
                else:
                    action = ActionChains(driver)
                    driver.execute_script('window.scrollTo(1280, 675)')
                    time.sleep(2)
                    action.click().perform()
                    time.sleep(1)
                    ogrn_field = driver.find_element_by_class_name('_29Sp')
                    ogrn = ogrn_field.find_elements_by_tag_name('p')[1].text
                    seller = ogrn_field.find_element_by_tag_name('p').text
  • Вопрос задан
  • 203 просмотра
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
1. Не нажали на кнопку, данные появляются только после этого
ogrn_button.click()
2. На странице несколько элементов с классом _29Sp, так что советую выбрать селектор получше
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
snaiper04ek
@snaiper04ek
Не стреляйте в эникея, он админит как умеет
Не знаю как сделать правильно, но если есть проблемы с пониманием как целиться, то можно сделать как я -
я учился выцеливать элементы через веб-версию selenium(дополнение в браузер), там удобно можно просто мышкой нацелиться на элемент и получить готовый код, потом требуется минимальное редактирование если мышью промазал или нужно уточнение.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы