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 ₽
....................