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定位了,定位的结果是一个矩阵,需要选择对应的值,好在能达到同样的效果。

原文地址:https://www.cnblogs.com/lelelong/p/10572565.html