如何使用Python获取Selenium中<ul>中的<li>元素列表?

kra*_*r65 11 html python selenium gui-testing selenium-webdriver

我正在使用Selenium WebDriver使用Python进行UI测试,我想检查以下HTML:

<ul id="myId">
    <li>Something here</li>
    <li>And here</li>
    <li>Even more here</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

从这个无序列表中,我想循环遍历元素并检查其中的文本.我选择了ul-element id,但我找不到任何方法来<li>绕过Selenium中的-children.

有没有人知道如何<li>使用Selenium(在Python中)循环遍历无序列表的-childeren?

Mar*_*nds 21

您需要使用该.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
Run Code Online (Sandbox Code Playgroud)


小智 5

奇怪的是,我必须使用 get_attribute() 解决方法才能查看内容:

html_list = driver.find_element_by_id("myId")
items = html_list.find_elements_by_tag_name("li")
for item in items:
    print(item.get_attribute("innerHTML"))
Run Code Online (Sandbox Code Playgroud)