robot framework---时间控件取值
项目中遇到日期控件定位不了,网上各种找,并没有适合我的,目前通过Javascript已解决了,再次做个记录,方便自己日后查找,如有同样问题的同学也可以有个参考!
先说明,不同的定位方式是看开发同学如何实现的,以下方法适用于我,个人可根据自己情况试试:
这个日期控件,默认是隐藏的,就是没有点击日期输入框时,在F12中是看不到它的。点击后,会弹出起止日期控件,需要滑动选择区间并点击确定按钮(没有选中日期时,确定按钮是置灰的)。
尝试过,直接用JS输入内容,失败了,最后保存的时候提示没有输入日期···o(╥﹏╥)o···
用Input直接输入相同格式的日期也不行,最后尝试用JS定位选择控件中的日期模拟真实操作过程,搞定!(*^▽^*)
click element xpath=//*[@id="pane-1"]/div/form/div[3]/div/div[1] #第一步:点击日期控件 Evaluate time.sleep(2) time #这个等时,我个人喜欢在一些不确定的时候加一下 executejavascript window.document.getElementsByClassName('available')[1].click() #第二步:选择开始日期,1日对应的是编号【0】,31日对应的是编号【30】,以此类推 executejavascript window.document.getElementsByClassName('available')[20].click() #第三步:选择结束日期 Evaluate time.sleep(2) time executejavascript window.document.getElementsByClassName('el-button el-picker-panel__link-btn el-button--default el-button--mini is-plain')[0].click() #第四步:点击日期控件的确定按钮 Evaluate time.sleep(2) time
executejavascript 是robot framework 带有的关键字,用起来很方便,就是JS的getElement没有Xpath定位,只能用Classname定位了,定位的结果是一个矩阵,需要选择对应的值,好在能达到同样的效果。