selenium не находит элемент

Пытаюсь парсить вайлдбериз, на названия товара

def func():
    driver = webdriver.Chrome('')
    driver.get('https://www.wildberries.ru/catalog/0/search.aspx?sort=popular&search=платье+женское')
    time.sleep(5)

    driver.find_element(By.XPATH, '//*[@id="c27949338"]')

Выдает даную ошибку

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="c27949338"]"}

обращался к разным элементам, но все равно одно и тоже


Ответы (1 шт):

Автор решения: Сергей Кох

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

import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By

driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
driver.get(url)
time.sleep(5)
select = driver.find_elements(By.CSS_SELECTOR, "div.product-card__wrapper")
print(f"Всего найдено    {len(select)}  шт.")
for s in select:
    print(s.text)
time.sleep(5)
driver.quit()

Всего найдено    110  шт.
Промо товар
-47%
3 180 ₽ 6 000 ₽
BASTEMПлатье женское нарядное вечернее коктейльное миди
26
Доставка послезавтра
ДЕНЬ ШОПИНГА
В корзину
Промо товар
-54%
2 755 ₽ 5 990 ₽
LANA FABRICEПлатье женское праздничное футляр
30
Доставка послезавтра
ДЕНЬ ШОПИНГА
В корзину
-75%
2 272 ₽ 9 090 ₽
....................
→ Ссылка