title: In Selenium how exactly are the sendKeys() and setValue() methods different?
body: <p>I've used both </p>
  
  <pre><code>WebElement.sendKeys('') 
  </code></pre>
  
  <p>and</p>
  
  <pre><code>WebElement.setValue('')
  </code></pre>
  
  <p>In order to input text into fields.  The vast majority of the time they seem to act the same, but I've found a few cases where <code>setValue()</code> works but <code>sendKeys()</code> does not.</p>
  
  <p>All I can find in the Selenium docs is that <code>sendKeys()</code> <em>'more accurately imitates user input'</em> then <code>setValue()</code>.  Does anyone know what is actually happening under the hood?</p>