web-dev-qa-db-fra.com

Comment obtenir le texte interne d'un élément dans Selenium?

J'ai un élément dans DOM comme

<input type = "form-control" type="text" data-bind="textInput: EnterpriseId" disabled autocomplete="off">

Cette zone de texte contient du texte qui ne se reflète pas dans cette balise d'élément. Comment obtenir cette valeur? Comme, évidemment,

element.getText () ne fonctionne pas et retourne vide. Existe-t-il un moyen d'obtenir le texte?

Toute suggestion serait d'une grande aide.

essaye ça

 WebElement element= driver.findElement(By.id("id value"));  
 String val=element.getAttribute("innerText")
7
Eknath

Je suppose que l'élément en question est un élément <input>, Vous pouvez donc utiliser la méthode element.getAttribute(String attribute) comme ceci:

String value = element.getAttribute("value");

2
Tom Trumper

Cette balise d'entrée est désactivée, donc element.getText() retourne une valeur vide. Utilisez à la place element.getAttribute("textContent"). J'espère que cela fonctionnera.

1
Harsh

Recherchez-vous l'espace réservé d'un texte saisi? parce que tu pourrais essayer

element.getAttribute("placeholder");

eu exactement le même problème! Ce message l'a résolu pour moi: Comment puis-je obtenir le contenu actuel d'un élément dans webdriver J'ai utilisé:

element = driver.find_elements_by_xpath(
'//button[@class="size-grid-dropdown size-grid-button"]')
element.text
0
geppy

Vous pouvez aller dans votre navigateur -> ouvrir les outils de développement -> inspecter l'élément dont vous voulez prendre l'attribut -> cliquer sur Properties-> vérifier si cette valeur est dans InnerText

Ensuite, faites comme il est mentionné dans les commentaires ci-dessus:

element_locator.get_attribute('InnerText')
0
Stipe