title: Selenium gecko browser can't find element
body: <p>Not really sure why, but it seems to have an error finding the element in Gecko Browser.  Works perfectly In Chrome. Tried different variations as well.  So the job only seems to go 50%  then stops</p>
  
  <p>here it is: 
         package src;</p>
  
  <pre><code>import org.openqa.selenium.By;
  import org.openqa.selenium.WebDriver;
  import org.openqa.selenium.WebElement;
  import org.openqa.selenium.firefox.FirefoxDriver;
  import org.openqa.selenium.support.ui.ExpectedConditions;
  import org.openqa.selenium.support.ui.WebDriverWait;
  
  public class ha {
  
      public static void main(String[] args) {
  
      // declaration and instantiation of objects/variables
      WebDriver driver ;
      System.setProperty("webdriver.gecko.driver","C:\\Users\\Bain1\\eclipse-workspace\\New Project\\geckodriver.exe");
      driver = new FirefoxDriver();
  
      //Create explicit wait.
      WebDriverWait myWait = new WebDriverWait(driver, 10);
  
      String baseUrl = "http://newtours.demoaut.com/";
      driver.get(baseUrl);
  
      //wait until text box load.
      myWait.until(ExpectedConditions.visibilityOfElementLocated(By.name("userName")));
  
      // Enter value into textbox
      driver.findElement(By.name("userName")).sendKeys ("tutorial");
  
      // Delete value from textbox
      driver.findElement(By.name("userName")).clear();
  
      // Access Links
      driver.findElement(By.linkText("Register here")).click();
      driver.findElement(By.partialLinkText("SIGN-ON")).click();
  
      // Enter value into textbox and SUBMIT
      driver.findElement(By.name("userName")).sendKeys ("tutorial");
      driver.findElement(By.name("password")).sendKeys ("tutorial");
      driver.findElement(By.name("password")).submit();
  
      // Select Radio Button
      driver.findElement(By.cssSelector("input[value=Business]")).click();
  
      //Select CheckBox
      String baseURL = "http://demo.guru99.com/sele...";
      driver.get(baseURL);
  
      //Create an Explicit wait.
      WebDriverWait myWait2 = new WebDriverWait(driver, 10);
      myWait2.until(ExpectedConditions.visibilityOfElementLocated(By.id("persist_box")));
  
      WebElement chkFBPersist = driver.findElement(By.id("persist_box"));
      for (int i=0; i&lt;2; i++) {
          chkFBPersist.click (); 
          System.out.println(chkFBPersist.isSelected());
      }
  
      driver.quit();
      System.exit(0);
  }
  }
  </code></pre>
  
  <p>a</p>
  
  <pre><code>1500950108846   geckodriver INFO    geckodriver 0.18.0
  1500950108853   geckodriver INFO    Listening on 127.0.0.1:46140
  1500950109519   geckodriver::marionette INFO    Starting browser C:\Program Files (x86)\Mozilla Firefox\firefox.exe with args ["-marionette"]
  1500950111367   Marionette  INFO    Listening on port 56333
  Jul 25, 2017 12:35:11 PM org.openqa.selenium.remote.ProtocolHandshake createSession
  INFO: Detected dialect: W3C
  Exception in thread "main" org.openqa.selenium.NoSuchElementException: Unable to locate element: Register here
  For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html
  Build info: version: 'unknown', revision: 'unknown', time: 'unknown'
  System info: host: 'DESKTOP-OOA5BSF', ip: '101.011.01.111', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_141'
  Driver info: org.openqa.selenium.firefox.FirefoxDriver
  Capabilities [{moz:profile=C:\Users\Bain1\AppData\Local\Temp\rust_mozprofile.BQUc6ozUnkyX, rotatable=false, timeouts={implicit=0.0, pageLoad=300000.0, script=30000.0}, pageLoadStrategy=normal, platform=ANY, specificationLevel=0.0, moz:accessibilityChecks=false, acceptInsecureCerts=false, browserVersion=54.0.1, platformVersion=10.0, moz:processID=15212.0, browserName=firefox, javascriptEnabled=true, platformName=windows_nt}]
  Session ID: b78462ce-e9bf-4143-a4a4-5c8b5a99f863
  *** Element info: {Using=link text, value=Register here}
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
      at java.lang.reflect.Constructor.newInstance(Unknown Source)
      at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:150)
      at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:115)
      at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:45)
      at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:164)
      at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:82)
      at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:637)
      at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:410)
      at org.openqa.selenium.remote.RemoteWebDriver.findElementByLinkText(RemoteWebDriver.java:461)
      at org.openqa.selenium.By$ByLinkText.findElement(By.java:246)
      at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:402)
      at src.ha.main(ha.java:35)
  </code></pre>