select_by_value example python selenium webdriver

python - example - ¿Cómo puedo obtener el contenido actual de un elemento en webdriver?



selenium python example (4)

Debo estar pensando en esto mal.

Quiero obtener el contenido de un elemento, en este caso un campo de formulario, en una página a la que estoy accediendo con Webdriver / Selenium 2

Aquí está mi código roto:

Element=driver.find_element_by_id(ElementID) print Element print Element.text

aquí está el resultado:

<selenium.webdriver.remote.webelement.WebElement object at 0x9c2392c>

(Observe la línea en blanco) Sé que el elemento tiene contenido, ya que lo rellené allí con el comando anterior usando .sendkeys y puedo verlos en la página web real mientras se ejecuta el script.

pero necesito devolver el contenido a los datos.

¿Qué puedo hacer para leer esto? Preferiblemente de forma genérica para que pueda extraer contenidos de diversos tipos de elementos.


Creo que prestomanifesto estaba en el camino correcto. Depende del tipo de elemento que sea. element.get_attribute(''value'') usar element.get_attribute(''value'') para elementos de entrada y element.text para devolver el nodo de texto de un elemento.

Puede verificar el objeto WebElement con element.tag_name para descubrir qué tipo de elemento es y devolver el valor apropiado.

Esto debería ayudarte a descubrir:

driver = webdriver.Firefox() driver.get(''http://www.w3c.org'') element = driver.find_element_by_name(''q'') element.send_keys(''hi mom'') element_text = element.text element_attribute_value = element.get_attribute(''value'') print element print ''element.text: {0}''.format(element_text) print ''element.get_attribute(/'value/'): {0}''.format(element_attribute_value) driver.quit()


En Java es Webelement.getText () . No estoy seguro acerca de Python.


Mi respuesta se basa en esta respuesta: ¿Cómo puedo obtener el contenido actual de un elemento en webdriver simplemente como copiar y pegar?

from selenium import webdriver driver = webdriver.Firefox() driver.get(''http://www.w3c.org'') element = driver.find_element_by_name(''q'') element.send_keys(''hi mom'') element_text = element.text element_attribute_value = element.get_attribute(''value'') print (element) print (''element.text: {0}''.format(element_text)) print (''element.get_attribute(/'value/'): {0}''.format(element_attribute_value)) element = driver.find_element_by_css_selector(''.description.expand_description > p'') element_text = element.text element_attribute_value = element.get_attribute(''value'') print (element) print (''element.text: {0}''.format(element_text)) print (''element.get_attribute(/'value/'): {0}''.format(element_attribute_value)) driver.quit()


element.get_attribute(''innerHTML'')