docs: def candidates(self):
          """Generates list of candidates from the DOM."""
          dom = self.dom
          if dom is None or len(dom) == 0:
              return None
  
          candidates, unlikely_candidates = find_candidates(dom)
          drop_nodes_with_parents(unlikely_candidates)
  
          return candidates