tutorial - ¿Cómo obtener una lista de los elementos<li> en un<ul> con Selenium usando Python?
the django project (2)
Estoy usando Selenium WebDriver usando Python para pruebas de UI y quiero verificar el siguiente HTML:
<ul id="myId">
<li>Something here</li>
<li>And here</li>
<li>Even more here</li>
</ul>
De esta lista desordenada quiero recorrer los elementos y verificar el texto en ellos. Seleccioné el elemento ul por su id
, pero no puedo encontrar ninguna forma de recorrer los <li>
niños en Selenium.
¿Alguien sabe cómo se puede recorrer el <li>
-childeren de una lista desordenada con Selenium (en Python)?
Necesitas usar el método .find_elements_by_
.
Por ejemplo,
html_list = self.driver.find_element_by_id("myId")
items = html_list.find_elements_by_tag_name("li")
for item in items:
text = item.text
print text
Puedes usar la comprensión de la lista:
# Get text from all elements
text_contents = [el.text for el in driver.find_elements_by_xpath("//ul[@id=''myId'']/li")]
# Print text
for text in text_contents:
print text