Selenium2Library中原有的select_frame函数(对应的关键字为select frame)可根据locator选择frame,但是,若某个frame或者iframe没有id,没有name,而页面存在多个frame或者iframe,则原函数无法实现选择该frame或者iframe的功能。其原因是原函数默认locator可以唯一选择。

解决方法为修改Selenium2Library中的select_frame函数,支持索引选择功能

找到,%PythonHome%\Lib\site-packages\Selenium2Library\keywords\_browsermanagement.py

打开它,找到select_frame这个方法。

将代码修改为如下:修改后的select_frame函数如下:

    def select_frame(self, locator, index=1):"""Sets frame identified by `locator` as current frame if 'locator' is not unique, use indexKey attributes for frames are `id` and `name.` See `introduction` for details about locating elements."""if locator.startswith("tag") :elements = self._element_find(locator, False, True)element = elements[int(index)]else:element = self._element_find(locator, True, True)self._current_browser().switch_to_frame(element)

此时在RobotFramework可以通过如下方式选择frame

select frame tag=iframe 1

解决Selenium2Library中的select frame无法选择没有名字,没有id的frame或者iframe的问题相关推荐

  1. 解决Chrome中UEditor插入图片的选择框加载过慢问题

    解决Chrome中UEditor插入图片的选择框加载过慢问题 ../resources/plugins/ueditor/ueditor.all.js 中line24489/24498中的 accept ...

  2. 遍历系统中所有的进程,可根据名字或ID查找某一个线程

    我们这根据名字查找进程,获取其ID 1 /*@brief 获取找到的与指定进程名相符的第一个进程ID 2 * @param [in] cpszExeFileName 进程可执行文件名(不带路径) 3 ...

  3. html下拉框代码默认选中状态,select默认不选中 html select 默认不选择

    html select 默认不选择 html中,select会默认选择第一个选项,如果要不选择,可以将第一个选项命名为"==请选择=="或空即可. select简介: select ...

  4. 完美解决html中select的option不能隐藏的问题。

    开发过程中无意遇到这个问题,解决问题第一时间就是百度.结果得到如下方法: 1.首先设置option的display:none的方案肯定是不可行了: 2.某网友提出的两种方案: a.在option标签上 ...

  5. 解决小米2s手机 select选择框问题

    解决小米2s手机 select选择框文本内容不能改变中学习到的 时间:2015-07-17 项目:甘肃银行-手机银行 问题记录:有一组选择框,第一个选择框选择存储类型(零存整取.整存整取.定活两便), ...

  6. frame中src怎么设置成一个变量_在 Figma 中如何选择 group(组)或 frame(画框)?...

    导读:在 Figma 中可以使用 group(组)或 frame(画框)来组织元素,但它们又有一些不同.合理地选择如何使用它们,能够帮助我们更好地设计.本文来自 Figma 官方博客,由卓浩翻译. 你 ...

  7. html中select标签默认选择,HTML中的select标签如何设置默认选中的选项

    方法有两种. 第一种通过的属性来设置选中项,此方法可以在动态语言如php在后台根据需要控制输出结果. 1 2 3 4 5 1 option > 2 option > 3 option &g ...

  8. html下拉选择框箭头改为年,CSS自定义select下拉选择框的样式(不用其他标签模拟)...

    今天群里有人问到怎么自定义select下拉选择框的样式,于是群里就展开了激烈的讨论,刚开始一直就是考虑怎样使用纯CSS实现,把浏览器默认的样式覆盖掉,但最后均因兼容问题处理不好而失败告终,最后的解决方 ...

  9. 自定义html下拉选择框,CSS自定义select下拉选择框的样式(不用其他标签模拟)

    今天群里有人问到怎么自定义select下拉选择框的样式,于是群里就展开了激烈的讨论,刚开始一直就是考虑怎样使用纯CSS实现,把浏览器默认的样式覆盖掉,但最后均因兼容问题处理不好而失败告终,最后的解决方 ...

最新文章

  1. ARM 寄存器 和 工作模式了解
  2. php排序数组排序_PHP 数组排序
  3. python注释_Python的注释用法
  4. ROS知识【13】:ubuntu下安装eclipse-CDT【非installor】
  5. (9) hibernate加载持久化对象的两种方式——get、load
  6. vuex构建vue项目_如何使用Vue.js,Vuex,Vuetify和Firebase构建单页应用程序
  7. easyui的validatebox重写自定义验证规则的几个实例
  8. Pytorch中的collate_fn函数用法
  9. transient、volatile关键字
  10. 两款导航网站源码 支持自动收录、自动审核、自动检测友链功能.
  11. 数据库和数据库实例的概念
  12. 多目标跟踪 | 评测指标
  13. 基于 WebGL 3D 的 HTML5档案馆可视化管理系统
  14. 【高等数学】第 2 讲 两个重要的极限定理
  15. 路线规划算法设计要点
  16. linux添加jetdirect协议,Linux系统中如何打印
  17. JAVA小鑫の日常系列故事(七)——小纸条
  18. 23种设计模式-工厂方法模式《辣条工厂》
  19. ISCC 2019 writeup
  20. 平台注册加入微信验证码机制。

热门文章

  1. GPS北斗授时卡(pci授时卡)卫星授时技术参数介绍
  2. listview pyqt5 添加_PyQt学习随笔:ListView控件增加列表项
  3. VAN(大核注意力机制)
  4. 华为认证实验篇-ENSP的安装(附下载地址)
  5. 分享Node.js + Koa2 + MySQL + Vue.js 实战开发一套完整个人博客项目网站
  6. 速学堂 JAVA 第五章练习
  7. APP版本号命名规范
  8. 数学建模之matlab软件学习06——专题六 数值微积分与方程求解
  9. Gmesh学习·tutorial游览(一)
  10. 技术分享:几种常见的JavaScript混淆和反混淆工具分析实战