我正在使用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'
答案 0 :(得分:1)
如错误所述,WebElement
对象没有属性findElement
。根据{{1}},sv:member_name
和sv: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