title: Scrapy selectors return all on page instead of relative
body: <p>I am using Scrapy to crawl a website which has a list of items on it. However when looping over the list of items, asking for a relative xpath returns all matching items for the entire the page. I have been using 0.24, however upgrading to the latest (1.0) encounters the same issue.</p>
  
  <p>I have tried running this with <code>virtualenv</code> to avoid conflicts with other libraries on my system with no success.</p>
  
  <pre><code>for sel in response.xpath('//ul[@class="items"]//div[@class="item"]'):
      item = CrawledItem()
      item['id'] = sel.xpath('.//input[@name="id"]/@value').extract()
  </code></pre>
  
  <p>I have tried debugging using <code>scrapy parse</code> and noticed that the list of ids starts off with all matching and slowly decreases so by the last item it only matches a single id. I was expecting a single id per item, instead I'm getting a response similar to below.</p>
  
  <pre><code>[
      {
          'id': [1,2,3,4,5,6,7,8,9,10]
      },
      {
          'id': [1,2,3,4,5,6,7,8,9]
      },
      [..] // omitted
      {
          'id': [10]
      }
  ]
  </code></pre>
  
  <p>I have also tried with css selectors with no success. My understanding was that <code>.//</code> was used to perform this action. How can I make sure that I'm ONLY selecting relative to the current selector?</p>