Кажется, это работает для меня, поэтому я бы сказал, что проблема в вашем HTML-документе.
Я попытался запустить следующее:
from bs4 import BeautifulSoup
html_doc = """<html>
<body>
<a class="black">
<b>
text1
</b>
<c>
text2
</c>
</a>
<a class="micio">
</a>
<a class="black">
</a>
</body>
</html>"""
soup = BeautifulSoup(html_doc)
soup.prettify()
print(soup.find_all("a", {"class":"black"}))
И в качестве вывода яполучил:
[<a class="black">
<b>
text1
</b>
<c>
text2
</c>
</a>, <a class="black">
</a>]
Редактировать: Как указал @ Puneet , проблема может заключаться в отсутствии пробела между атрибутами вhtml вы извлекаете.
Я пытался, например, изменить приведенный выше пример на что-то вроде:
html_doc = """<html>
<body>
<aclass="black">
# etc.. as before
И в результате я получил пустой список: []
.