title: How to correctly pass basic auth (every click) using Selenium and phantomjs webdriver
body: <p>I am running some unittests with Selenium Webdriver.</p>
  
  <p>I have an entire test that runs successfully using webdriver.Firefox(), here is the setup:</p>
  
  <pre><code>def setUp(self):
      self.driver = webdriver.Firefox()
      self.driver.implicitly_wait(30)
      self.base_url = "http://www.nike.com"
      self.verificationErrors = []
      self.accept_next_alert = True
  </code></pre>
  
  <p>The test runs successfully, however I have to manually enter in basic auth multiple times for the test to keep moving forward.</p>
  
  <p>In an attempt to bypass basic auth and have the entire test truly automated, I have switched from Firefox to phantomjs, as it sounds like you can pass in Basic Auth with each click()</p>
  
  <p>Here is my setup after switching to phantomjs:</p>
  
  <pre><code>def setUp(self):
      dcap = dict(DesiredCapabilities.PHANTOMJS)
      dcap["phantoms.page.settings.userName"] = ("testuser")
      dcap["phantoms.page.settings.userPassword"] = ("testpass")
      self.driver = webdriver.PhantomJS(desired_capabilities=dcap, service_args=['--ignore-ssl-errors=true'])
      self.driver.implicitly_wait(30)
      self.base_url = "http://www.nike.com
      self.verificationErrors = []
      self.accept_next_alert = True
  </code></pre>
  
  <p>But I get the following error:</p>
  
  <pre><code>NoSuchElementException: Message: {"errorMessage":"Unable to find
  element with xpath '(//button[@type='button'])[2]'","request":
  {"headers":{"Accept":"application/json","Accept-Encoding":"identity",
  "Connection":"close","Content-Length":"113","Content- Type":"application/json;charset=UTF-8",
  "Host":"127.0.0.1:58025","UserAgent":"Pythonurllib/2.7"},"httpVersion":"1.1",
  "method":"POST","post":"{\"using\": \"xpath\", \"sessionId\": \"c2fa02e0-1df0-11e6-a2ad-c325e56df16d\",
  \"value\": \"(//button[@type='button'][2]\"}","url":"/element","urlParsed":
  {"anchor":"","query":"","file":"element","directory":"/","path":"/element","relative":"/element","port":"","host":"",
  "password":"","user":"","userInfo":"","authority":"","protocol":"","source":"/element","queryKey":{},"chunks":    
  ["element"]},"urlOriginal":"/session/c2fa02e0-1df0-11e6-a2ad-c325e56df16d/element"}}
  </code></pre>
  
  <p>I am not sure if this error is just a difference between phantomjs and firefox, or if I'm just passing auth incorrectly.</p>