我正在尝试使用python中现有的Seleniumlibrary机器人框架来编写自定义函数,以从元素获取链接。但是我在get_attribute中一直遇到问题。
错误:“列表”对象没有属性“ get_attribute”
已导入库
from selenium import webdriver
from robot.libraries.BuiltIn import BuiltIn
def get_one_links(locator,attribute):
lib = BuiltIn().get_library_instance('SeleniumLibrary')
links = lib.find_elements(locator).get_attribute(attribute)
return links
那是因为您试图在列表上调用该方法,所以只能在单个元素上调用。请参见下面的示例。列表不存在“ get_attribute”属性,但单个元素不存在“ get_attribute”属性。例如:
您需要在代码中执行类似的操作,
from selenium import webdriver
from robot.libraries.BuiltIn import BuiltIn
def get_one_links(locator,attribute):
lib = BuiltIn().get_library_instance('SeleniumLibrary')
links = lib.find_elements(locator)
for link in links:
return link.get_attribute('href')
#return link if thats what you want