2016-08-06 19 views
1

HTML-Code:Element nicht gefunden Fehler in Selenium WebDriver

<table border="0" width="100%" cellspacing="0" cellpadding="2"> 
    <tr class="messageStackError"> 
    <td class="messageStackError"> 
    <img src="images/icons/error.gif" border="0" alt="Error" title=" Error "/>&nbsp; 
    Error: Invalid administrator login attempt.</td> 
    </tr> 
</table> 

Selen-Code:

String message =driver.findElement(By.className("messageStackError")).getText(); 

ich die Laufzeit Fehler in Selen bekommen WebDriver

Unable Element lokalisieren : .messageStackError (WARNUNG: Der Server hat keine Stacktrace-Informationen bereitgestellt) Befehlsdauer oder Zeitlimit: 19 Millisekunden Für die Dokumentation zu diesem Fehler finden Sie unter: http://seleniumhq.org/exceptions/no_such_element.html

Antwort

1

Eigentlich ist dies das Timing-Problem, wenn du gehst, es zu diesem Zeitpunkt auf DOM vorhanden wäre, nicht zu finden, so dass Sie WebDriverWait zu verwenden versuchen sollten, warten, bis dieses Element, wie unten vorhanden sein könnte: -

WebDriverWait wait = new WebDriverWait(driver, 10); 
WebElement el = wait.until(ExpectedConditions.presenceOfElementLocated(By.className("messageStackError"))); 
el.getText() 

Hinweis: - Vergewissern sie sich, bevor sie das Element zu finden, dass es nicht in jedem frame oder iframe ist. Wenn es innen ist, dann müssen Sie das frame oder iframe vor dem Finden des Elements als driver.switchTo().frame("frame id or name");

+1

schalten Danke Saurabh, arbeitet Code für mich. –

Verwandte Themen