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 ? "" + monCur : monCur) + "-"
+ (dayCur < 10 ? "" + dayCur : dayCur) + " " + (hCur < 10 ? "" + hCur : hCur)
+ ":" + (mCur < 10 ? "" + mCur : mCur) + ":" + (sCur < 10 ? "" + sCur : sCur);
return timeCur;
}
12 Python+selenium对日期控件进行处理(采用执行JS脚本)的更多相关文章
- python selenium 处理时间日期控件(十六)
测试过程中经常遇到时间控件,需要我们来选择日期,一般处理时间控件通过层级定位来操作或者通过调用js来实现. 1.首先我们看一下如何通过层级定位来操作时间控件. 通过示例图可以看到,日期控件是无法输入日 ...
- python selenium 处理时间日期控件
# -*- coding: utf-8 -*- from selenium import webdriverfrom time import sleep driver = webdriver.Fire ...
- selenium 处理日期控件
今天遇到日期控件无法处理的问题,在北京-air的帮助下,看了下这篇blog http://www.cnblogs.com/Fskjb/archive/2011/10/27/2227111.html 根 ...
- selenium+python 处理只读日期控件的2种方法
前言 有时候测试过程中会遇到日期控件场景,这时候需要特殊处理,下文以12306网站为例 1.处理方式 通常是通过js去除只读属性(2种方法),然后通过send_keys重新写值 from time i ...
- Selenium+java - 日期控件的处理
前言 一般的日期控件都是input标签下弹出来的,设置日期使用selenium中的sendKeys 方法就可以解决. 但是我们也会碰到下面的时间日期控件(这个时候这个文本框是不允许我们输入时间的)如图 ...
- VS2010保存时控件验证(用onclientclick事件) js脚本
控件按钮代码: asp:Button ID="btnSave" runat="server" OnClick="btnSave_Click" ...
- my97日期控件
http://www.seabroad.cn/cq/datepick/demo.htm 但是由于某些原因,担心这个网站不稳定,所以复制一下 一. 简介 1. 简介 目前的版本是:4.0 Prerele ...
- jsp日期插件My97DatePicker 强大的日期控件 使用方便简单
本文属转载(希望对编程爱好者有所帮助)详情请访问官方网站 http://www.my97.net/dp/index.asp 一. 简介 1. 简介 目前的版本是:4.7 2. 注意事项 My97Dat ...
- 日期控件My97DatePicker的使用
一. 简介 1. 简介 目前的版本是:4.8 2. 注意事项 My97DatePicker目录是一个整体,不可破坏里面的目录结构,也不可对里面的文件改名,可以改目录名 My97DatePicker.h ...
随机推荐
- 【Codeforces 474D】Flowers
[链接] 我是链接,点我呀:) [题意] 让你吃东西 B食物一次必须要吃连续k个 但是对A食物没有要求 问你有多少种吃n个食物的方法(吃的序列) [题解] 设f[i]表示长度为i的吃的序列且符合要求的 ...
- 【郑轻邀请赛 G】密室逃脱
[题目链接]:https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2133 [题意] [题解] 考虑每一个二进制数的最高位->第i位; 肯定是1(这 ...
- [BZOJ 4999]This Problem Is Too Simple!
[BZOJ 4999]This Problem Is Too Simple! 题目 给您一颗树,每个节点有个初始值. 现在支持以下两种操作: 1. C i x(0<=x<2^31) 表示将 ...
- [bzoj2850]巧克力王国_KD-Tree
巧克力王国 bzoj-2850 题目大意:给出n块巧克力,每块巧克力都有自己的两个参数x和y和本身的价值val,询问:m个人,每个人有两个系数和一个限度a,b,和c.求所有ax+by<=c的巧克 ...
- [luogu1373]小a和uim之大逃离_动态规划
小a和uim之大逃离 题目大意:有一个n*m的矩阵.每个格子上有一坨0~k不等量的权值.有两个人,每个人任选一个格子作为出发点,并只能向下或向右走.求最后两个人所得到的权值mod k相等的方案数. 注 ...
- MyBatis 3实现时间段精确的查询(转)
效果如下: 说明: 时间范围的查询会存在以下问题: 1.如果单纯采用年月日的形式会出现缺少最后一点的数据,比如要查询2015-09-16到2015-09-17,那么2015-09-17 01:00:0 ...
- HIHO 16 C
树分治.对于一棵子树的根节点,至少有一条边与儿子相连的属于重边.对于一条轻边,它的贡献值是两端子树大小的乘积,所以,重边应该是贡献值最大的一边. 至于要求所有的点,进行深度优先搜索,因为移动一个点只会 ...
- jsp中EL表达式不起作用的问题
jsp中EL表达式不起作用的问题 进行springmvc的@ExceptioinHandler调试,竟然是el表达式的问题, 学习了:http://blog.csdn.net/wolf_soul/ar ...
- MySql免安装版l配置方法
初次接触mysql,折腾了一天,总是安装不成功,服务启动不了.后来从官网下载了ZIP Archive版,不用安装,直接把它解压到磁盘,做一些简单的配置就可以. 软件下载地址:http://dev.my ...
- 游戏人生(一),我的lua之旅:那些坑爹的CCBReaderLoad
首先,我们说说这个CCBReaderLoad. 这个脚本是cocos2dx自带的一个lua+cocosbuilder 的工具,详细功能呐,往下看. 先来看下我遇到的一个问题: ----美工给了我一个. ...