Estou trabalhando com Selenium em Python. Gostaria de obter o resultado .val()
de um <select>
elemento e verificar se é o que espero.
Este é o meu código:
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?
Como posso fazer isso? Os documentos do Selenium parecem ter muito sobre a seleção de elementos, mas nada sobre atributos.
get_attribute(name)
pode fazer o trabalho, embora eu não ache que realmente o usei. Dê uma chance!Respostas:
Você provavelmente está procurando
get_attribute()
. Um exemplo é mostrado aqui tambémdef 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")
fonte
Pitão
element.get_attribute("attribute name")
Java
element.getAttribute("attribute name")
Rubi
element.attribute("attribute name")
C #
element.GetAttribute("attribute name");
fonte
Como os aplicativos da Web desenvolvidos recentemente estão usando JavaScript , jQuery , AngularJS , ReactJS etc., existe a possibilidade de recuperar um atributo de um elemento por meio do Selenium, que você deve induzir o WebDriverWait a sincronizar a instância do WebDriver com o cliente da Web em atraso, ou seja, o navegador da Web antes tentando recuperar qualquer um dos atributos.
Alguns exemplos:
Pitão:
Para recuperar qualquer forma atributo uma visível elemento (por exemplo
<h1>
tag), você precisa usar os expected_conditions comovisibility_of_element_located(locator)
as seguintes:attribute_value = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.ID, "org"))).get_attribute("attribute_name")
Para recuperar qualquer formulário de atributo de um interativo elemento (por exemplo
<input>
tag), você precisa usar os expected_conditions comoelement_to_be_clickable(locator)
as seguintes:attribute_value = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.ID, "org"))).get_attribute("attribute_name")
Atributos HTML
Abaixo está uma lista de alguns atributos frequentemente usados em HTML
Observação : uma lista completa de todos os atributos de cada elemento HTML está listada em: Referência de atributo HTML
fonte