Generates list of candidates from the DOM.

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