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;
        }
  • 相关阅读:
    Visual Studio调试器项目设置
    Debug.Assert Everyone!
    WinDbg中的.natvis文件和类型模板
    已安装的.NET CLR版本之间的w3wp.exe崩溃WinDbg后期调试
    用于DLL注入的WinDbg扩展---!injectdll
    Wireshark中PIDs与网络包的关联
    又又一款抓dmp工具---ProcDump
    基于.NET框架版本在Windbg中加载sos的脚本
    未记录的WinDBG扩展命令---itoldyouso
    合并符号服务器
  • 原文地址:https://www.cnblogs.com/catleer/p/6407015.html
Copyright © 2011-2022 走看看