title: Error when calling findElement after findElements on webdriver.WebElement (using Protractor, JS)
body: <p>I'm using Protractor (Angular JS's webdriver wrapper), and although I can chain <code>findElement</code> indefinitely off of a single <code>WebElement</code> instance, I get an error when I attempt to chain <code>findElement</code> after using <code>findElements</code> (plural).</p>
  
  <p><strong>Error</strong> <em>(stack trace given at bottom)</em>:</p>
  
  <blockquote>
    <p>TypeError: Object [object Object] has no method 'findElement'</p>
  </blockquote>
  
  <p><strong>Chaining findElement</strong>:</p>
  
  <pre class="lang-js prettyprint-override"><code>var elementPromise = browser.findElement(by.css('body')).findElement(by.css('ul')).findElement(by.css('li'));
  elementPromise.findElement(by.css('.icon-meter')); // does not raise error
  </code></pre>
  
  <p><strong>Using findElement after findElements</strong>:</p>
  
  <pre class="lang-js prettyprint-override"><code>var arrayPromise = browser.findElement(by.css('ul')).findElements(by.css('li'));
  elementPromise = arrayPromise.then(function(elems) {
      return elems[0];
  });
  elementPromise.findElement(by.css('.icon-meter')); // =&gt; raises error
  </code></pre>
  
  <p><strong>Error message with trace</strong></p>
  
  <pre><code>TypeError: Object [object Object] has no method 'findElement'
  at repl:1:16
  at /home/markham/src/dataraptor-rails4/spec/node_modules/elementexplorer-convenience.js:83:19
  at webdriver.promise.ControlFlow.runInNewFrame_ (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:1598:20)
  at webdriver.promise.ControlFlow.runEventLoop_ (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:1463:8)
  at wrapper [as _onTimeout] (timers.js:252:14)
  at Timer.listOnTimeout [as ontimeout] (timers.js:110:15)
  </code></pre>