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脚本)的主要内容,如果未能解决你的问题,请参考以下文章