Python Selenium: найти элемент для кнопки избранного / отмены избранного

Я пытаюсь найти все элементы на странице, которые еще не были нажаты или добавлены в избранное.

Вот HTML-код избранного элемента:

<a class="button-fave unfavorited-button favorited-button" rel="78853399" alt="Add to favorites">
    <div class="button-spinner"></div>
    <span class="status-text">Favorite</span>
</a>

Вот HTML-код, когда элемент не добавлен в избранное:

<a class="button-fave unfavorited-button" rel="78853399" alt="Add to favorites">
    <div class="button-spinner"></div>
    <span class="status-text">Favorite</span>
</a>

Я пытался:

driver.find_element_by_class_name('button-fave unfavorited-button')

но получаю следующее:

Данная кнопка-селектор fave unavourited-button недействительна или не приводит к возникновению WebElement. Произошла следующая ошибка: InvalidSelectorError: имена составных классов не разрешены

Следующее работает, но не делает различий между избранными и нежелательными элементами:

driver.find_element_by_class_name('button-fave') 

person Josh    schedule 28.05.2015    source источник


Ответы (1)


Вы можете найти все a элементы, не имеющие favorited-button класса:

driver.find_elements_by_css_selector("a:not(.favorited-button)")
person alecxe    schedule 28.05.2015