17.Selenium+Python日期控件小案例】的更多相关文章

1.web上的控件种类十分多,但是大致分为2种,一种为类型是input的且可以输入,第二种为类型是input的且属性为readonly,文本框不可编辑 2.第一种类型为可以输入的,直接send_keys,代码如下: from selenium import webdriver driver = webdriver.Ie() driver.get('http://jqueryui.com/resources/demos/datepicker/other-months.html') Date = d…
测试过程中经常遇到时间控件,需要我们来选择日期,一般处理时间控件通过层级定位来操作或者通过调用js来实现. 1.首先我们看一下如何通过层级定位来操作时间控件. 通过示例图可以看到,日期控件是无法输入日期,点击后弹出日期列表供我们选择日期,自己找了一个日期控制演示一下,通过两次定位,选择了日期 #-*- coding:utf-8 -*- import time from selenium import webdriver driver = webdriver.Chrome() driver.get…
[环境信息] Python34+IE+windows2008 [说明] 1.对于日期控件,没有办法通过定位元素再直接传值的方式处理.可以采用执行JavaScript处理. PS:还要去学学js怎么写,不然要用的时候就只有到处copy了. [示例] 1.对于如下格式的日期控件需要用JS处理. 2.处理方式:通过driver.execute_script(js)执行. #问题消除时间,调用JS的当前时间 js = "function getCurrentDate() {" \ "…
前言 一般的日期控件都是input标签下弹出来的,设置日期使用selenium中的sendKeys 方法就可以解决. 但是我们也会碰到下面的时间日期控件(这个时候这个文本框是不允许我们输入时间的)如图: 这个时候,没法调用WebElement的sendKeys(),像这种选择时间的input标签都会有一个readonly属性,这个时候我们就只能选择时间,不能手动输入,那么这种情况,我们该怎么处理呢? 通过JS选择日期 具体代码示例如下: /** * 通过JS选择日期 */ @Test publi…
今天遇到日期控件无法处理的问题,在北京-air的帮助下,看了下这篇blog http://www.cnblogs.com/Fskjb/archive/2011/10/27/2227111.html 根据日期控件找到相应的js---WdatePicker.js 执行如下代码就可以实现日期选择(不太懂arguments获取) ar DatePicker = driver.FindElement(By.Id("d15")); String sProductDate = "2014-…
对于时间的选择问题,查到的大部分为两种情况: 1.存在readonly属性的 2.没有readonly属性的 可直接赋值send_keys() 测试用例中刚好是没有readonly属性的 且定位不到弹窗(通过查资料可知道,直接给时间控件input属性赋值是最快捷的方法) 一开始都是奔着情况二去处理的,但一直运行不成功,总是在赋值的地方出错,反复确认了不存在iFrame,句柄也都是一样的,时间控件为input属性,且是可编辑属性,但就是总报错. 判断是否可编辑的指令为: flag=timeInpu…
# -*- coding: utf-8 -*- from selenium import webdriverfrom time import sleep driver = webdriver.Firefox()driver.get('http://www.sucaijiayuan.com/api/demo.php?url=/demo/20141108-1/') driver.switch_to.frame('iframe') # js = "document.getElementById('tx…
前言 有时候测试过程中会遇到日期控件场景,这时候需要特殊处理,下文以12306网站为例 1.处理方式 通常是通过js去除只读属性(2种方法),然后通过send_keys重新写值 from time import sleep driver = webdriver.Chrome() driver.get("https://www.12306.cn/index/") sleep(2) date_txt = driver.find_element_by_xpath("//*[@id=…
对日期控件,日期控件的输入控一般是不能手动输入的:把readonly属性去掉就好 其实很简单,我们不去搞时间日期空间,我们把它当成一个普通的input框处理就好了! 但是,很多此类型input框都是禁止手动输入的,怎么办? 很简单,用js把禁止输入的readonly属性去掉就好了.如下四种方法都可 # -*- coding: utf-8 -*- from selenium import webdriver from time import sleep driver = webdriver.Fir…
如图:          1.问题描述: 在应用selenium实现web自动化时,经常会遇到处理日期控件点击问题,手工很简单,可以一个个点击日期控件选择需要的日期,但自动化执行过程中,完全复制手工这样的操作就有点难了. 2.想法: 其实很简单,把它当做输入框来看就好了,使用selenium的sendKeys对输入框输入日期则可. driver.findElement(By.id("createTime")).sendKeys("2016-08-24");//输入日…