首页 > 代码库 > 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脚本)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。