2017-06-28 3 views
0

Wenn ich versuche auf ein Textfeld zu klicken, sagt mir Selen, dass das Element nicht sichtbar ist, obwohl ich es deutlich sehen kann. Außerdem, wenn ich versuche, seinen Text zu setzen, heißt es "Element ist derzeit nicht interaktiv und kann nicht manipuliert werden".Selen: org.openqa.selenium.ElementNotVisibleException

+0

Statt 'Thread.Sleep()' oder 'ImplicitWait' induzieren' ExplicitWait'. Danke – DebanjanB

Antwort

0

Versuchen Sie Wartezeit:

z.

driver.Manage().Timeouts().SetPageLoadTimeout(TimeSpan.FromSeconds(30)); 

     driver.Manage().Timeouts().SetScriptTimeout(TimeSpan.FromSeconds(30)); 

     driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(30)); 

und/oder

 Thread.Sleep(1000); 

Wenn diese nicht funktionieren, um sie hinzuzufügen:

 IJavaScriptExecutor js = (IJavaScriptExecutor)driver; 

     js.ExecuteScript("var evt = document.createEvent('MouseEvents');" + "evt.initMouseEvent('click',true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0,null);" + "arguments[0].dispatchEvent(evt);", driver.FindElement(By.XPath("your element"))); 
+0

Ich habe bereits Thread.sleep (1000); – nix86

+0

Sie können es immer erhöhen. Überprüfen Sie auch Internet-Geschwindigkeit, da es auch Selen-Webdriver verhindern kann, das Element zu finden. Hast du versucht Implizit zu warten? –

+0

Ich habe WebUI.waitForElementVisible verwendet – nix86