Невозможно очистить все образцы цветов продукта - PullRequest
1 голос
/ 24 апреля 2020

Я пытаюсь очистить URL-адрес изображения и название оттенков продукта на Sephora, и я могу получить URL-адрес и имя для всех оттенков, кроме того, который выбран в данный момент (который, по-видимому, был выбран по умолчанию). Что я делаю неправильно?

Пример продукта: ссылка

См. Ниже код:

def get_shade_names(url):
global names_df
driver.get(url)
shade_names = []
shade_items = driver.find_elements_by_class_name('css-1ax77m2')
btn = driver.find_element_by_class_name('css-ctsnxi')
sleep(2)
btn.click()
sleep(5)
for item in shade_items:
    name_tags = item.find_elements_by_class_name('css-1j1jwa4')
    sleep(2)
    for tag in name_tags:
        shade_name = tag.get_attribute('aria-label')
        sleep(2)
        shade_names.append(shade_name)

names_df = pd.DataFrame(shade_names, columns = ['Shade_name'])
return names_df

1 Ответ

1 голос
/ 24 апреля 2020

Вы не получаете имя выбранного по умолчанию оттенка, потому что кнопка имеет другое имя класса, т. Е. class="css-1p28rvx "

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

shade_names = []
shade_elements = driver.find_elements_by_css_selector('.css-1ax77m2 button')
for element in shade_elements:
    shade_name = element.get_attribute('aria-label')
    shade_names.append(shade_name)

print(len(shade_names))
print(shade_names)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...