2016-06-10 10 views

Antwort

0

Versuchen element.getAttribute mit ("value")

die Eigenschaft Text für Text ist innerhalb der Tags eines Elements. Für Eingabeelemente wird der angezeigte Text nicht von dem Tag eingewickelt, sondern es ist im Inneren des Wertattribut

WebElement error = driver.findElement(By.id("reg_error_inner")); System.out.println(error.getAttribute("value")); 
+0

Hallo freundlicherweise überprüfen Sie das hinzugefügte Bild – rocky

+0

Dies wird nicht funktionieren, da das Element, das den Text enthält, ein div ist, keine Texteingabe. – RemcoW

+0

Für den div-HTML-Code habe ich das gleiche versucht, aber ich kann den Text bekommen. Aber für den folgenden Code konnte ich den Text nicht bekommen.

Please enter a valid email address.
rocky

0

Lösungen für das sein kann:

WebElement error = driver.findElement(By.id("reg_error_inner")); 

// Any of these should work 
System.out.println(error.getAttribute("innerHTML")); 
System.out.println(error.getAttribute("innerText")); 
System.out.println(error.getAttribute("textContent")); 

bearbeiten getText() sollte funktionieren . Ich habe es gerade in Python getestet.

d = webdriver.Chrome() 
e = d.find_element_by_css_selector("div[id='reg_error_inner']") 
print(e.text) 

Ausgabe: 'Bitte geben Sie eine gültige E-Mail-Adresse ein.'

+0

Es funktioniert nicht ....... Ich habe alle oben genannten versucht – rocky

+0

@rocky In diesem Fall müssen Sie etwas falsch in Ihrem Code tun. Ich kann dies nicht überprüfen, da Sie keine bereitgestellt haben, aber getText() funktioniert gut für mich. – RemcoW