code: def extract_leftmost_selector(selector_list):
      
      classes = set()
      ids = set()
      elements = set()
      #    print "Selector list: %s \n\n\n\n\n\n" % selector_list
      for selector in selector_list:
          selector = selector.split()[0]
          if selector[0] == '.':
              classes.add(selector)
          elif selector[0] == '#':
              ids.add(selector)
          else:
              elements.add(selector)
      return { 
               'classes':classes,
               'ids':ids,
               'elements':elements,
               }
docs: Because we aren't building a DOM tree to transverse, the only way
      to get the most general selectors is to take the leftmost. 
      For example with `div.outer div.inner`, we can't tell if `div.inner`
      has been used in context without building a tree.