Как правильно задать webdriver

пишу парсер для сайте Rozetka.com, все компилирует без ошибок, но почему-то ничего в таблицу не выводит, видимо ошибка в том как я указал пусть к webdriver, подскажите как это сделать

from selenium.webdriver import Chrome
import pandas as pd
import time
webdriver = r"C:\Users\К.Бояр (Второй)\source\repos\RozetaParcer\chromedriver.exe" ### put your browser driver's path

driver = Chrome(webdriver)
driver.get("https://rozetka.com.ua/search/?producer=gazer&seller=rozetka&text=Gazer") ### here the website url

items = len(driver.find_elements_by_class_name("goods-tile__picture ng-star-inserted")) ### here you put the class name of the HTML element which contains the data to scrap

total = []
for item in range(items):

        items = driver.find_elements_by_class_name("goods-tile__picture ng-star-inserted")
        for item in items:
            t_name = item.find_element_by_class_name('goods-tile__title').text
            t_price = item.find_element_by_class_name('goods-tile__price-value').text
            t_nal = item.find_element_by_class_name('goods-tile__availability goods-tile__availability--available ng-star-inserted').text
            new = ((cur_data,t_name, t_price, t_nal))
            total.append(new)
            cur_data = datetime.now().strftime("%d_%m_%Y")
df = pd.DataFrame(total, columns=['time','Name', 'Price', 'Nal'])
df.to_csv('Rozetka_parcer_{cur_data}.csv')
driver.close()

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

Автор решения: gil9red

Думаю, у вас не нашлось из-за неправильного использования метода find_elements_by_class_name, которому нужно передавать один класс. Поясню, значения в атрибуте class, разделенные пробелом, это не один элемент (class), а несколько.

Таким образом, значение goods-tile__picture ng-star-inserted это 2 класса

Для поиска по двум классам используйте css-селектор через метод find_elements_by_css_selector:

driver.find_elements_by_css_selector(".goods-tile__picture.ng-star-inserted")
→ Ссылка