Python 3.x 无法在Robot Framework 3.1.2和Python 3.7.4的自定义库中执行web元素操作

Python 3.x 无法在Robot Framework 3.1.2和Python 3.7.4的自定义库中执行web元素操作,python-3.x,robotframework,Python 3.x,Robotframework,我在Robot框架中有一个自定义库,我正在尝试传递某个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):

我在Robot框架中有一个自定义库,我正在尝试传递某个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框架中调用sendkeys_值时,其抛出错误为属性错误:“SeleniumLibrary”对象没有属性“按id查找元素”

,这是因为您的
驱动程序
对象是对SeleniumLibrary本身的引用,而它本身有一个属性
驱动程序,这是真正的selenium库。很多司机重复:),用一个例子来解释可能更容易:

driver = self.get_webdriver_instance().driver

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

driver = self.get_webdriver_instance().driver

你的措辞有点混乱
driver
不是对SeleniumLibrary
的引用,而是对webdriver对象的引用。您的措辞有点混乱
driver
不是对SeleniumLibrary的引用,而是对webdriver对象的引用。