Ich arbeite mit Selen in Python. Ich möchte die .val()
eines <select>
Element und überprüfen Sie, ob es das ist, was ich erwarte.
Das ist mein 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?
Wie kann ich das machen? In den Selenium-Dokumenten scheint es viel über die Auswahl von Elementen zu geben, aber nichts über Attribute.
Sie suchen wahrscheinlich nach get_attribute()
. Ein Beispiel wird gezeigt hier auch
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?
val = org.get_attribute("attribute name")
Python
element.get_attribute("attribute name")
Java
element.getAttribute("attribute name")
Rubin
element.attribute("attribute name")
C #
element.GetAttribute("attribute name");
Wie die kürzlich entwickelten Web Applications verwenden JavaScript , jQuery , AngularJS , ReactJS usw. Es besteht die Möglichkeit, dass Sie zum Abrufen eines Attributs eines Elements über SelenWebDriverWait einleiten müssen, um den WebDriver zu synchronisieren = Instanz mit dem verzögerten Web Client dh dem Web Browser, bevor versucht wird, eines der Attribute abzurufen.
Einige Beispiele:
Python:
Um ein Attribut aus einem sichtbaren Element (z. B. <h1>
- Tag) abzurufen, müssen Sie expected_conditions as verwenden visibility_of_element_located(locator)
wie folgt:
attribute_value = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.ID, "org"))).get_attribute("attribute_name")
Um ein Attribut aus einem interaktiven Element (z. B. <input>
- Tag) abzurufen, müssen Sie expected_conditions as verwenden element_to_be_clickable(locator)
wie folgt:
attribute_value = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.ID, "org"))).get_attribute("attribute_name")
Unten finden Sie eine Liste einiger Attribute, die häufig in HTML verwendet werden
Hinweis : Eine vollständige Liste aller Attribute für jedes HTML-Element finden Sie in: HTML-Attributreferenz