Oi,
Pelo stack trace ali vc tá chamando diretamente o findelement dentro de um método de login. O mais adequado eh criar um método que espera até o elemento ficar presente. Tem varoas formas de fazer, mas segue uma dica.
http://stackoverflow.com/questions/6992993/selenium-c-sharp-webdriver-wait-until-element-is-present
--
Você recebeu esta mensagem porque está inscrito para o Google
Grupos "Grupo de Usuarios de Teste de Software - SUCESU-RS" grupo.
Para postar neste grupo, envie um email para guts-rs...@googlegroups.com
Para cancelar a sua inscrição neste grupo, envie um e-mail para
guts-rs-suces...@googlegroups.com
Para mais opções, visite este grupo em
http://groups.google.com/group/guts-rs-sucesu?hl=pt?hl=en
---
Você recebeu essa mensagem porque está inscrito no grupo "GUTS-RS - Grupo de Usuários de Testes de Software do RS - SUCESU-RS" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para guts-rs-suces...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.
//cria o driver FirefoxDriver driver = new FirefoxDriver(); Thread.Sleep(2000); driver.Manage().Window.Maximize(); //tenta inserir o link de acesso Elemento(driver, link); driver.Manage().Window.Maximize();
if (acessou == true) { try { Espera("txtUSER", driver); driver.FindElementById("txtUSER").SendKeys(id);
Espera("txtPassWord", driver); driver.FindElementById("txtPassWord").SendKeys(senha);
Espera("btnLogin", driver); driver.FindElementById("btnLogin").Click(); } catch (NoSuchElementException e) { MessageBox.Show("Ocorreu uma exceção: " + e); } } else { MessageBox.Show("Não é possível prosseguir com a aplicação!"); } public Boolean Elemento(FirefoxDriver driver, string link) { try { driver.Navigate().GoToUrl(link); acessou = true; return true; } catch (NoSuchElementException e) { MessageBox.Show("Ocorreu uma exceção: " + e); acessou = false; return false; } } public void Espera(String what, FirefoxDriver driver) { int timeOut = 10; new WebDriverWait(driver, TimeSpan.FromSeconds(timeOut)).Until(ExpectedConditions.ElementExists((By.Id(what)))); }Olá,
1. Como o seu método "Espera" está esperando o WebElement?
Espera(String id, WebDriver driver)
2. Na espera, o driver está sendo instanciado na classe novamente ou a classe faz um extends de outra que contém o WebDriver instanciado?
new WebDriverWait(driver,15).until(ExpectedConditions.visibilityOfElementLocated(By.id(id_do_elemento)