title: Stale Element Reference Exception c# Selenium Webdriver
body: <p>I am using C# selenium web driver for some automation purpose in visual studio.When i run my code sometimes it is working perfectly,but sometimes it is throwing an error "Exception has been thrown by the target of an invocation".When i restart my system it is working fine,again it is showing error after multiple runs.It is happening while giving password after username.The webpage is like username,submit button,password,submit button to login in to website.Without giving password,it is clicking submit button again.</p>
  
  <p>Code where exception occuring</p>
  
  <pre><code>if (ConfigurationManager.AppSettings["IsEncrypted"].ToLower() =="true")
                  {
  
                      UserName.SendKeys(ConfigurationManager.AppSettings["UserName"]);
                      Submit.Click();
                      Thread.Sleep(2000);
                      Password.SendKeys(Base64Decode(ConfigurationManager.AppSettings["Password"]));
                      Submit.Click();
                  }
  </code></pre>
  
  <p>This is the exception</p>
  
  <pre><code>  Exception occured:Exception has been thrown by the target of an invocation.
          Exception occured:Exception has been thrown by the target of an invocation.
          Exception occured System.Reflection.TargetInvocationException: Exception has bee
          n thrown by the target of an invocation. ---&gt; OpenQA.Selenium.StaleElementRefere
          nceException: stale element reference: element is not attached to the page docum
          ent
            (Session info: chrome=58.0.3029.110)
            (Driver info: chromedriver=2.25.426923 (0390b88869384d6eb0d5d09729679f934aab9e
          ed),platform=Windows NT 6.1.7601 SP1 x86_64)
             at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response erro
          rResponse)
             at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecu
          te, Dictionary`2 parameters)
             at OpenQA.Selenium.Remote.RemoteWebElement.Click()
             --- End of inner exception stack trace ---
             at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments,
           Signature sig, Boolean constructor)
             at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Objec
          t[] parameters, Object[] arguments)
             at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invoke
          Attr, Binder binder, Object[] parameters, CultureInfo culture)
             at OpenQA.Selenium.Support.PageObjects.WebDriverObjectProxy.InvokeMethod(IMet
          hodCallMessage msg, Object representedValue)
             at OpenQA.Selenium.Support.PageObjects.WebElementProxy.Invoke(IMessage msg)
             at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&amp; msgDa
          ta, Int32 type)
             at OpenQA.Selenium.IWebElement.Click()
             at JiraExtract.PageObjects.LoginPage.LoginToApplication() in C:/Program.cs:line 72
             at JiraExtract.Automation.AutomationTest() in c:/Program.cs:line 80
             at JiraExtractor.Program.Main(String[] args) in c:/Program.cs:line 14
  </code></pre>