首页 > 解决方案 > 无法在 Robot Framework 3.1.2 和 Python 3.7.4 的自定义库中执行 Web 元素操作

问题描述

我在 Robot Framework 中有一个自定义库,我正在尝试传递一些 Web 元素的 id 并对其执行操作。

from robot.libraries.BuiltIn import BuiltIn

class mylibrary:

    def get_webdriver_instance(self):
        return BuiltIn().get_library_instance('SeleniumLibrary')

    def sendkeys_value(self,ele,value):
        driver = self.get_webdriver_instance()
        element = driver.find_element_by_id(ele)
        element.send_keys(value)

在 Robot Framework 中调用 sendkeys_value 时,其抛出错误为Attribute Error: 'SeleniumLibrary' object has no attribute 'find_element_by_id'

标签: python-3.xrobotframework

解决方案


那是因为您的driver对象是对 SeleniumLibrary 本身的引用,而它本身有一个属性driver,即实际的 selenium 库。很多司机重复了:),用一个例子可能更容易解释:

driver = self.get_webdriver_instance().driver

推荐阅读