標籤:dtc image cut 通過 處理 self ges exec asc
【環境資訊】
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指令碼)