Pracuję z Selenium w Pythonie. Chciałbym uzyskać .val()
z <select>
elementu i sprawdzić, czy to jest to, czego oczekują.
To jest mój kod:
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?
Jak mogę to zrobić? Wydaje się, że dokumentacja Selenium zawiera wiele informacji na temat wybierania elementów, ale nic nie dotyczy atrybutów.
get_attribute(name)
może załatwić sprawę, chociaż nie sądzę, żebym go faktycznie używał. Spróbuj!Odpowiedzi:
Prawdopodobnie szukasz
get_attribute()
. Tutaj również pokazano przykładdef 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")
źródło
Pyton
element.get_attribute("attribute name")
Jawa
element.getAttribute("attribute name")
Rubin
element.attribute("attribute name")
DO#
element.GetAttribute("attribute name");
źródło
Ponieważ ostatnio opracowane aplikacje internetowe używają JavaScript , jQuery , AngularJS , ReactJS itp., Istnieje możliwość, że aby pobrać atrybut elementu za pomocą Selenium , musisz wywołać WebDriverWait, aby zsynchronizować instancję WebDriver z opóźnionym klientem internetowym, tj. Przeglądarką internetową przed próba pobrania dowolnego z atrybutów.
Kilka przykładów:
Pyton:
Aby odzyskać jakiejkolwiek formie przyporządkowują widocznego elementu (np
<h1>
tag) trzeba użyć expected_conditions jakvisibility_of_element_located(locator)
w następujący sposób:attribute_value = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.ID, "org"))).get_attribute("attribute_name")
Aby odzyskać jakiejkolwiek formie atrybutu jest interaktywny elementu (np
<input>
tag) trzeba użyć expected_conditions jakelement_to_be_clickable(locator)
w następujący sposób:attribute_value = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.ID, "org"))).get_attribute("attribute_name")
Atrybuty HTML
Poniżej znajduje się lista niektórych atrybutów często używanych w HTML
Uwaga : Pełna lista wszystkich atrybutów każdego elementu HTML znajduje się w: HTML Attribute Reference
źródło