python-3.x - 无法在 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'
解决方案
那是因为您的driver
对象是对 SeleniumLibrary 本身的引用,而它本身有一个属性driver
,即实际的 selenium 库。很多司机重复了:),用一个例子可能更容易解释:
driver = self.get_webdriver_instance().driver
推荐阅读
- r - R 语言:3-d 数组数据的计算机协方差矩阵
- python - Tensorflow 对象检测 API 中的随机旋转数据增强
- sql-server - SQL 超链接 - SSMS 返回多个错误
- delphi - 使用 TJSONAncestor.Owned 在释放后保留包含的对象
- dataweave - 转换 json 有效负载
- scala - 如何将路径模式与 cypher morpheus 集成?
- python - 如何返回由2个字母的每个单词的出现次数组成的字典
- python - 在没有单元格拉伸的情况下删除 QTableView() 最后一行下方的灰色带?
- vue.js - 当 v-btn 有 v-for 时,为什么 v-menu 不能与 v-btn 一起使用
- javascript - 我在导航栏中注销后,React.js 注销并没有变成登录