Je travaille avec Selenium en Python. Je voudrais obtenir le .val()
d'un <select>
élément et vérifier que c'est ce que j'attends.
Voici mon code:
def test_chart_renders_from_url(self):
url = 'http://localhost:8000/analyse/'
self.browser.get(url)
org = driver.find_element_by_id('org')
# Find the value of org?
Comment puis-je faire ceci? Les documents Selenium semblent avoir beaucoup sur la sélection des éléments mais rien sur les attributs.
get_attribute(name)
pourrait faire le travail, même si je ne pense pas que je l'ai réellement utilisé. Donner un coup de feu!Réponses:
Vous recherchez probablement
get_attribute()
. Un exemple est montré ici aussi biendef test_chart_renders_from_url(self): url = 'http://localhost:8000/analyse/' self.browser.get(url) org = driver.find_element_by_id('org') # Find the value of org? val = org.get_attribute("attribute name")
la source
Python
element.get_attribute("attribute name")
Java
element.getAttribute("attribute name")
Rubis
element.attribute("attribute name")
C #
element.GetAttribute("attribute name");
la source
Comme les applications Web récemment développées utilisent JavaScript , jQuery , AngularJS , ReactJS, etc., il est possible que pour récupérer un attribut d'un élément via Selenium, vous deviez induire WebDriverWait à synchroniser l' instance WebDriver avec le client Web en retard, c'est-à-dire le navigateur Web avant essayer de récupérer l'un des attributs.
Quelques exemples:
Python:
Pour récupérer toute forme d'attribut d' un visible élément (par exemple
<h1>
tag) vous devez utiliser les expected_conditions comme lavisibility_of_element_located(locator)
façon suivante:attribute_value = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.ID, "org"))).get_attribute("attribute_name")
Pour récupérer toute forme d'attribut un interactif élément (par exemple
<input>
tag) vous devez utiliser les expected_conditions comme laelement_to_be_clickable(locator)
façon suivante:attribute_value = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.ID, "org"))).get_attribute("attribute_name")
Attributs HTML
Vous trouverez ci-dessous une liste de certains attributs souvent utilisés en HTML
Remarque : une liste complète de tous les attributs de chaque élément HTML est répertoriée dans: Référence d'attribut HTML
la source