RobotFramework js 选择动态元素

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Jasonliujintao/article/details/79630798

RobotFramework js 选择动态元素

  • 最近使用rf 测试又遇到一个非标准下拉列表选择的问题
  • 这里记录一下解决办法,希望对后面其他童鞋有帮助

这个控件是JS 动态加载的div, 是非标准的控件。
这些元素定位需要通过,右键->检查 才能获取到元素位置。
使用 chrome 的 工具栏里的箭头无法识别。
这里写图片描述

  • 识别到元素位置了,那么怎样去选择这些元素呢? 有的元素你还看不到,也无法直接用 click element 直接操作

下面就给出我的办法:
1. 先定位这个下拉列表的父元素 ul 节点, 给这个节点分配一个ID。
2. 使用 JS 根据分配的ID,去获取ul 的所有子元素。
3. (JS)遍历子元素,获取子元素的文本,如果文本和需要选择的相同,就点击子元素, 如果不相等就移除子元素。
这里写图片描述

具体JS 代码,注意RF中js 必须写成一行:

var vid = document.getElementById("vid_category");var childs = vid.childNodes;for(var i = childs.length - 1; i >= 0; i--) {var str = childs[i].innerText;if(str=='${title}'){childs[i].click();}else{vid.removeChild(childs[i]);}}

猜你喜欢

转载自blog.csdn.net/Jasonliujintao/article/details/79630798