Both work depending on what you are trying to achieve, as explained in the docs
Essentially find_all(class_="Class1 Class2")
is almost equivalent to select(.Class1.Class2)
the only difference is that the former requires the exact string while the latter requires CSS selectors but does not care about the order[1], e.g.
Say you have the following element <p class="A B">
find_all(class_="B A") won't match but select(.B.A)
will
If you fix your syntax to soup.select(".chart-element__information__song.text--truncate.color--primary")
it should return the same values
[1] - There are other differences such as support for regex, which are explained in the docs
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…