A selector with multiple attribute selectors on the same attribute would use only the last selector,
because `selector.Attr[attrname]` gets overwritten. Something like 'a[href^=https][href$=.zip]'
would give the results from 'a[href$=.zip]'.
Now, the attribute selectors are collected into a list, and we check whether all selectors match.