webentwicklung-frage-antwort-db.com.de

Wie erhält man ein Elementattribut aus Selen?

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.

57
Richard

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")
89
Saifur

Python

element.get_attribute("attribute name")

Java

element.getAttribute("attribute name")

Rubin

element.attribute("attribute name")

C #

element.GetAttribute("attribute name");
30
Shubham Jain

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")
      

HTML-Attribute

Unten finden Sie eine Liste einiger Attribute, die häufig in HTML verwendet werden

HTML Attributes

Hinweis : Eine vollständige Liste aller Attribute für jedes HTML-Element finden Sie in: HTML-Attributreferenz

3
DebanjanB