自定义关键字机器人框架selenium webdriver python“对象没有属性'get_attribute'”

问题描述 投票:0回答:1

我正在尝试使用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
python selenium selenium-webdriver robotframework browser-automation
1个回答
1
投票

那是因为您试图在列表上调用该方法,所以只能在单个元素上调用。请参见下面的示例。列表不存在“ 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
© www.soinside.com 2019 - 2024. All rights reserved.