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;
    }
时间: 2024-10-03 17:11:59

12 Python+selenium对日期控件进行处理(采用执行JS脚本)的相关文章

python selenium 处理时间日期控件(十五)

测试过程中经常遇到时间控件,需要我们来选择日期,一般处理时间控件通过层级定位来操作或者通过调用js来实现. 1.首先我们看一下如何通过层级定位来操作时间控件. 通过示例图可以看到,日期控件是无法输入日期,点击后弹出日期列表供我们选择日期,自己找了一个日期控制演示一下,通过两次定位,选择了日期 #-*- coding:utf-8 -*- import time from selenium import webdriver driver = webdriver.Chrome() driver.get

jsp日期插件My97DatePicker 强大的日期控件 使用方便简单

本文属转载(希望对编程爱好者有所帮助)详情请访问官方网站 http://www.my97.net/dp/index.asp 一. 简介 1. 简介 目前的版本是:4.7 2. 注意事项 My97DatePicker目录是一个整体,不可破坏里面的目录结构,也不可对里面的文件改名,可以改目录名 My97DatePicker.htm是必须文件,不可删除 各目录及文件的用途:WdatePicker.js 配置文件,在调用的地方仅需使用该文件,可多个共存,以xx_WdatePicker.js方式命名con

Wdatepicker日期控件的使用指南

示例2-3-1 起始日期简单应用 示例2-3-2 alwaysUseStartDate属性应用 示例2-3-3 使用内置参数 示例 2-4-1: 年月日时分秒 示例 2-4-2 时分秒 示例 2-4-3 年月 示例 2-4-4 取得系统可识别的日期值(重要) 示例2-5 日期和时间的编辑演示 示例2-6-1 不合法的日期演示 示例2-6-2 超出日期限制范围的日期也被认为是一个不合法的日期 示例2-6-3 使用无效天和无效日期功能限制的日期也被认为是一个不合法的日期 示例2-7 跨无限级框架演示

my97日期控件

http://www.seabroad.cn/cq/datepick/demo.htm 但是由于某些原因,担心这个网站不稳定,所以复制一下 一. 简介 1. 简介 目前的版本是:4.0 Prerelease 发布于2008-04-22 2. 注意事项 My97DatePicker目录是一个整体,不可破坏里面的目录结构,也不可对里面的文件改名,可以改目录名 My97DatePicker.htm是必须文件,不可删除 各目录及文件的用途: WdatePicker.js 配置文件,在调用的地方仅需使用该

My97DatePicker时间日期控件的使用

My97DatePicker是一款非常灵活好用的日期控件.使用非常简单. 1.下载My97DatePicker组件包 2.在页面中引入该组件js文件: <script type="text/javascript" src="My97DatePicker/WdatePicker.js"></script> 3.页面使用两个方式: 常规调用:  <input id="d11" type="text"

Python语言编写脚本时,对日期控件的处理方式

对日期控件,日期控件的输入控一般是不能手动输入的:把readonly属性去掉就好 其实很简单,我们不去搞时间日期空间,我们把它当成一个普通的input框处理就好了! 但是,很多此类型input框都是禁止手动输入的,怎么办? 很简单,用js把禁止输入的readonly属性去掉就好了.如下四种方法都可 # -*- coding: utf-8 -*- from selenium import webdriver from time import sleep driver = webdriver.Fir

Selenium 日期控件处理

在WEB测试时,我们会碰到需要输入日期的情况,如果输入框能直接输入,那最好不过了.但是很多时候,输入框是不可输入的,必须的点击日期控件才行. 现在就来聊聊对日期控件的两种操作方法,我们以12306网站订票页为例 一.点击日期控件 常规方法,先定位到日期控件,再选择日期 代码: # coding = utf-8 from selenium import webdriver from time import sleep # 驱动文件路径 driverfile_path = r'D:\coship\T

selenium webdriver自动化对日期控件的处理

用JS去掉日期输入框的readOnly属性. 代码如下: ------------------------------------------------------------------------------------- String js="document.getElementById('dateTimeId').removeAttribute('readOnly');document.getElementById('dateTimeId').setAttribute('value'

操作日期控件

#!usr/bin/env python #-*- coding:utf-8 -*- """ @author: sleeping_cat @Contact : [email protected] """ #操作日期控件 from selenium import webdriver import unittest,time,traceback from selenium.webdriver.support.ui import WebDriverWa