首页 > 代码库 > 12 Python+selenium对日期控件进行处理(采用执行JS脚本)

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 = http://www.mamicode.com/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脚本)