Я запустил содержимое , если из обоих примеров кода:
soup.find_all('div', {'class': 'alert'})
и
soup.find_all('div', {'class': 'alert alert-danger'})
В обоих случаях я получил:
[<div class="alert alert-danger">
<p>There is an error</p>
</div>]
Так что я не могу повторить вашу ошибку. Может быть, вы используете старую версию BeautifulSoup ?
У меня есть версия 4.7.1 . Попробуйте обновить вашу установку BeautifulSoup .
Редактировать
Еще один способ, как проверить, содержит ли ваш документ div
элемент с class="alert"
:
if soup.find_all('div', class_='alert'):
print("Alert....")
Обратите внимание, что параметр ключевого слова содержит _
в конце, чтобы
отличается от Python восстановленное слово ( class ). Это относительно новый
особенность BeautifulSoup .