Пользовательская структура ключевых слов робота selenium webdriver python "объект не имеет атрибута" get_attribute "" - PullRequest
1 голос
/ 25 марта 2020

Я пытаюсь написать пользовательскую функцию, используя существующую библиотеку Seleniumlibrary в python, чтобы получить ссылку из элемента. Но я получаю сообщение об ошибке в 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

1 Ответ

2 голосов
/ 25 марта 2020

Это потому, что вы пытаетесь вызвать метод в списке, вы можете вызвать только один элемент. Смотрите пример ниже. Свойство «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
...