web-dev-qa-db-ja.com

Pythonを使用してSeleniumで<ul>の<li>要素のリストを取得するにはどうすればよいですか?

UIテストにPython=を使用してSelenium WebDriverを使用しています。次のHTMLを確認したいと思います。

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

この順序付けられていないリストから、要素をループしてそれらのテキストをチェックします。 idでul要素を選択しましたが、Seleniumで<li>- childrenをループする方法が見つかりません。

Selenium(Python)を使用して、順序付けられていないリストの<li>- childerenをループする方法を誰かが知っていますか?

15
kramer65

.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
21
Mark Rowlands

リスト内包表記を使用できます。

# 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
2
German Petrov