12 Python+selenium对日期控件进行处理(采用执行JS脚本)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了12 Python+selenium对日期控件进行处理(采用执行JS脚本)相关的知识,希望对你有一定的参考价值。

【环境信息】

Python34+IE+windows2008

【说明】

1、对于日期控件,没有办法通过定位元素再直接传值的方式处理。可以采用执行JavaScript处理。

PS:还要去学学js怎么写,不然要用的时候就只有到处copy了。

【示例】

1、对于如下格式的日期控件需要用JS处理。

技术分享  技术分享

2、处理方式:通过driver.execute_script(js)执行。

 #问题消除时间,调用JS的当前时间
 js = "function getCurrentDate() {"                      "    var dtCur = new Date();"                      "    var yearCur = dtCur.getFullYear();"                      "    var monCur = dtCur.getMonth() + 1;"                      "    var dayCur = dtCur.getDate();"                      "    var hCur = dtCur.getHours();"                      "    var mCur = dtCur.getMinutes();"                      "    var sCur = dtCur.getSeconds();"                      "    var timeCur = yearCur + \\"-\\" + (monCur < 10 ? \\"0\\" + monCur : monCur) + \\"-\\""                      " + (dayCur < 10 ? \\"0\\" + dayCur : dayCur) + \\" \\" + (hCur < 10 ? \\"0\\" + hCur : hCur)"                      " + \\":\\" + (mCur < 10 ? \\"0\\" + mCur : mCur) + \\":\\" + (sCur < 10 ? \\"0\\" + sCur : sCur);"                      "    return timeCur;"                      "    }"                      "var value = document.getElementById(\\"issueEliminatTime\\");"                      "value.removeAttribute(\\"readonly\\");"                      "value.setAttribute(\\"value\\",getCurrentDate());"
 self.driver.execute_script(js)               

3、对于时间的JS处理方式。
时间格式为:2017-02-16 17:34:18

function getCurrentDate(count) {
      var dtCur = new Date();
     #该语句属于时间偏移量,比如要获取晚于当前时间2小时的时间,count可传入2
     #当需要获取晚于当前一天的时间时,可以把getHours()更换成getDate().对于分、秒也是同理
      dtCur.setHours(dtCur.getHours()+count);
      var yearCur = dtCur.getFullYear();
      var monCur = dtCur.getMonth()+1;
      
      var dayCur = dtCur.getDate();
      var hCur = dtCur.getHours();
      var mCur = dtCur.getMinutes();
      var sCur = dtCur.getSeconds();
      var timeCur = yearCur + "-" + (monCur < 10 ? "0" + monCur : monCur) + "-"
        + (dayCur < 10 ? "0" + dayCur : dayCur) + " " + (hCur < 10 ? "0" + hCur : hCur)
        + ":" + (mCur < 10 ? "0" + mCur : mCur) + ":" + (sCur < 10 ? "0" + sCur : sCur);
      return timeCur;
    }

 


以上是关于12 Python+selenium对日期控件进行处理(采用执行JS脚本)的主要内容,如果未能解决你的问题,请参考以下文章

selenium webdriver自动化对日期控件的处理

selenium webdriver自动化对日期控件的处理

Selenium 日期控件处理

selenium+python怎么定位日期弹窗

selenium + python自动化测试unittest框架学习webdriver对页面其他控件操作

Selenium2+python自动化25-js处理日历控件(修改readonly属性)转载