web-dev-qa-db-fra.com

Obtenir la valeur d'une zone de saisie à l'aide de Selenium (Python)

J'essaie d'extraire le texte dans une zone de saisie,

<input type="text" name="inputbox" value="name" class="box">

J'ai commencé avec

input = driver.find_element_by_name("inputbox")

J'ai essayé input.getText () mais j'ai

AttributeError: 'WebElement' object has no attribute 'getText'
35
Khalil

Utilisez ceci pour obtenir la valeur de l'élément d'entrée:

input.get_attribute('value')
68
Saturi

Notez qu'il existe une différence importante entre l'attribut value et la propriété value.

L'explication simplifiée est que l'attribut value est ce qui se trouve dans la balise HTML et la propriété value est ce que vous voyez sur la page.

Fondamentalement, l'attribut value définit la valeur initiale de l'élément, tandis que la propriété value contient la valeur actuelle.

Vous pouvez en savoir plus à ce sujet ici et voir un exemple de la différence ici .


Si vous voulez l'attribut value, vous devez utiliser get_attribute:

input.get_attribute('value')

Si vous voulez la propriété value, vous devez utiliser get_property

input.get_property("value")

Cependant, selon les documents, get_attribute renvoie en fait la propriété plutôt que l'attribut, sauf si la propriété n'existe pas. get_property retournera toujours la propriété.

1
Pikamander2