title: Unable to create an appropriate selector to parse a certain string
body: <p>I've created a selector to scrape a certain string from some html elements. There are two strings within the elements. With my selector within the below script I can parse both of them whereas I expect to get the latter one which is in this case <code>I wanna be scraped alone</code>. How can i use any selector which will create a barrier for the first string to be parsed?</p>
  
  <p>Here is the html elements:</p>
  
  <pre><code>html_elem="""
  &lt;a class="expected-content" href="/4570/I-wanna-be-scraped-alone"&gt;
      &lt;span class="undesirable-content"&gt;I shouldn't be parsed&lt;/span&gt;
      I wanna be scraped alone
  &lt;/a&gt;
  """
  </code></pre>
  
  <p>I tried with:</p>
  
  <pre><code>from lxml.html import fromstring
  
  root = fromstring(html_elem)
  for item in root.cssselect(".expected-content"):
      print(item.text_content())
  </code></pre>
  
  <p>Output I'm getting:</p>
  
  <pre><code> I shouldn't be parsed
   I wanna be scraped alone
  </code></pre>
  
  <p>Expected output:</p>
  
  <pre><code>I wanna be scraped alone
  </code></pre>
  
  <p>Btw, I tried with <code>root.cssselect(".expected-content:not(.undesirable-content)")</code> this as well but it is definitely not the right approach. Any help would be highly appreciated.</p>