Включить несколько имен классов в findAll в BeautifulSoup4 [дубликат]


На этот вопрос уже есть ответ здесь:

У меня есть строка кода в скрипте python, как показано ниже

for summaries in soup.findAll('div',{'class':'cb-lv-scrs-col cb-font-12 cb-text-complete'}):
#do something with summaries

Однако я хочу, чтобы резюме также включали элементы из div элементов с другим классом, называемым cb-scag-mtch-status cb-text-inprogress

Я попробовал ниже, как указано здесь - BeautifulSoup findAll () задано несколько классов?

for summaries in soup.findAll('div',{'class':['cb-lv-scrs-col cb-font-12 cb-text-complete','cb-scag-mtch-status cb-text-inprogress']}):
#do something with summaries

Но это не работает. В чем проблема и как ее решить?

1 2

1 ответ:

Я бы сделал простой CSS селектор:

soup.select('div[class="cb-lv-scrs-col cb-font-12 cb-text-complete"],div[class="cb-scag-mtch-status cb-text-inprogress"]')

Но, я сомневаюсь, что вам действительно нужно или нужно проверять все классы, присутствующие на элементе, не будет ли этого достаточно:

soup.select('div.cb-text-complete,div.cb-text-inprogress')