Selenium WebDriver Python,搜索WebElement

时间:2015-12-23 23:28:10

标签: python selenium

我正在使用Selenium来搜索一些东西,但我似乎无法搜索WebElement甚至文档说我可以。

while True:
    try:
        member = self.pdriver.find_all("sv:member_profile")[index]
        self.pdriver.info_log("Found a member")
    except IndexError:
        self.pdriver.info_log("No more members")
        break

    member.highlight(style = self.pdriver.get_config_value("highlight:style_on_assertion_success"))

    profile = {}
    profile["name"] = member.findElement("sv:member_name").get_attribute('innerHTML')
    profile["image"] = member.findElement("sv:member_image").get_attribute('src')
    profile["link"] = member.findElement("sv:member_link").get_attribute('href')

    members.append(profile)
    index += 1

这会返回一个网络元素:

member = self.pdriver.find_all("sv:member_profile")[index]

我需要搜索,根据文档,这个元素也会有findElement方法,似乎不是这样的情况吗?

  

AttributeError:'WebElement'对象没有属性'findElement'

1 个答案:

答案 0 :(得分:1)

如错误所述,WebElement对象没有属性findElement。根据{{​​1}},sv:member_namesv:member_image的内容,您需要选择需要使用的find_element_by_* methods中的哪一个。

例如,如果sv:member_link是CSS选择器:

sv:member_name

或者,您也可以使用直接提供profile["name"] = member.find_element_by_css_selector("sv:member_name").get_attribute('innerHTML') 值的find_element()方法:

By