zoukankan      html  css  js  c++  java
  • 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;
        }
  • 相关阅读:
    如何高效处理bug?
    如何获取字符串函数的实现?
    数据处理-csv,pandas
    CentOS 下安装SAC(Seismic Analysis Code)
    CentOS安装使用ffmpeg
    Tensorflow问题记录 --pydot Failed to import pydot. You must install pydot and graphviz for pydotprint to work
    Tensorflow学习记录 --TensorFlow高效读取数据tfrecord
    Committee to boost development of Chinese language teachers
    Consensus-based decentralized auctions for robust task allocation
    Chinese market critical to US firms: US-China Business Council
  • 原文地址:https://www.cnblogs.com/catleer/p/6407015.html
Copyright © 2011-2022 走看看