Как получить список элементов в с Selenium с помощью Python?

Я использую Selenium WebDriver, используя Python для UI-тестов, и я хочу проверить следующий HTML:

<ul id="myId">
    <li>Something here</li>
    <li>And here</li>
    <li>Even more here</li>
</ul>

из этого неупорядоченного списка я хочу, чтобы перебрать все элементы и проверить текст в них. Я выбрал ul-элемент по его id, но я не могу найти никакого способа обойти <li>-дети в селен.

кто-нибудь знает, как можно перебрать все <li> - childeren неупорядоченного списка с селеном (в Python)?

2 ответов


вам нужно использовать .find_elements_by_ метод.

например,

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

вы можете использовать список понимание:

# 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