Почему selenium не может найти элемент?
Парсю сайт hh.ru с помощью selenium,а именно страницу https://hh.ru/search/vacancy?area=&st=searchVacancy&text=%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%81%D1%82&fromSearch=true В некоторых вакансиях написано снизу 'показать контакты' или "позвонить", мне нужно спарсить эти контакты. Но не может найти элемент, css селектор правильно прописал. Но почему не может найти блок с контактами?
def parse_element(self, element):
company_name = element.find_element_by_css_selector('div.vacancy-serp-item__meta-info > a.bloko-link.bloko-link_secondary')
company_name = company_name.text
contacts = element.find_element_by_xpath('/html/body/div[6]/div/div/div[2]/div/div[4]/div/div[2]/div/div[2]/div/div/div[11]/div[6]')
contacts_info = contacts.find_element_by_xpath('/html/body/div[6]/div/div/div[2]/div/div[4]/div/div[2]/div/div[2]/div/div/div[11]/div[6]/span[1]')
contacts_info.click()
sleep(5)
contact = element.find_element_by_css_selector('div.Bloko-Drop-Down.bloko-drop.bloko-drop_down.bloko-drop_theme-light.bloko-drop_layer-floating.bloko-drop_bottom.bloko-drop_fullscreen-on-xs.bloko-drop_clickable')
Код работает до "contacts_info.click()", он кликает, я это вижу, появляется блок с контактами,ставлю задержку, но после этого ищу, и вечно исключение NoSuchElementException: Message: no such element: Unable to locate element . Я уже все перепробовал, помогите пожалуйста.
<div class="Bloko-Drop-Down bloko-drop bloko-drop_down bloko-drop_theme-light bloko-drop_layer-floating bloko-drop_bottom bloko-drop_fullscreen-on-xs bloko-drop_clickable" data-qa="bloko-drop-down" style="top: 3210px; left: 418.719px;">
Это кусочек кода страницы, css селектор у меня правильно прописан.
Ответы (1 шт):
Возможно есть ограничение на количество классов у одного элемента. Но в любом случае, если уменьшить количество классов в строке селектора, то элемент находится.