selenium之 时间日期控件的处理
2017-05-17 22:45
309 查看
原文出自:http://blog.csdn.net/huilan_same/article/details/52385401
很多人问时间日期的空间怎么处理,但是时间日期控件各种各样,你可能遇到正常点的像这样:
当然也可能遇到难点的,像这样:
当然,也不排除会遇到变态的,像这样:
呵呵,真要一个个想着怎么去选择,简直是非人类干的事!
那么该怎么办?
其实很简单,我们不去搞时间日期空间,我们把它当成一个普通的input框处理就好了!
但是,很多此类型input框都是禁止手动输入的,怎么办?
很简单,用js把禁止输入的readonly属性干掉就好了。
来吧,看一下示例:
示例网址:http://www.sucaijiayuan.com/api/demo.php?url=/demo/20141108-1/
代码:
结果:
看,我一下子给了你四种写法。当然你去选也没有问题,就是一堆div、ul、li,但是我想说对于日期时间控件,认真你就输了,绕过去才是真理,就像验证码一样,这个东西去深究,一点意义也没有嘛,所以这里就不推荐也不写这种方法的示例了。
当然,这里还得说一下,有人说他遇到的日期时间框没有id、name,这里提醒一下,这就是普通的input框,定位方法太多了,class、tag name、xpath、css,总有一种适合你。同时友情提醒一下:注意时刻提防iframe!
很多人问时间日期的空间怎么处理,但是时间日期控件各种各样,你可能遇到正常点的像这样:
当然也可能遇到难点的,像这样:
当然,也不排除会遇到变态的,像这样:
呵呵,真要一个个想着怎么去选择,简直是非人类干的事!
那么该怎么办?
其实很简单,我们不去搞时间日期空间,我们把它当成一个普通的input框处理就好了!
但是,很多此类型input框都是禁止手动输入的,怎么办?
很简单,用js把禁止输入的readonly属性干掉就好了。
来吧,看一下示例:
示例网址:http://www.sucaijiayuan.com/api/demo.php?url=/demo/20141108-1/
代码:
# -*- coding: utf-8 -*- from selenium import webdriver from 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('txtBeginDate').removeAttribute('readonly')" # 1.原生js,移除属性 # js = "$('input[id=txtBeginDate]').removeAttr('readonly')" # 2.jQuery,移除属性 # js = "$('input[id=txtBeginDate]').attr('readonly',false)" # 3.jQuery,设置为false js = "$('input[id=txtBeginDate]').attr('readonly','')" # 4.jQuery,设置为空(同3) driver.execute_script(js) driver.find_element_by_id('txtBeginDate').send_keys('2016-08-24') sleep(2) print driver.find_element_by_id('txtBeginDate').get_attribute('value') driver.quit()
结果:
2016-08-24
看,我一下子给了你四种写法。当然你去选也没有问题,就是一堆div、ul、li,但是我想说对于日期时间控件,认真你就输了,绕过去才是真理,就像验证码一样,这个东西去深究,一点意义也没有嘛,所以这里就不推荐也不写这种方法的示例了。
当然,这里还得说一下,有人说他遇到的日期时间框没有id、name,这里提醒一下,这就是普通的input框,定位方法太多了,class、tag name、xpath、css,总有一种适合你。同时友情提醒一下:注意时刻提防iframe!
相关文章推荐
- selenium之 时间日期控件的处理
- python selenium 处理时间日期控件(十六)
- 时间日期控件的处理-Selenium
- selenium 时间日期控件的处理
- selenium之 时间日期控件的处理
- selenium之 时间日期控件的处理
- selenium日期控件的处理之拖拽选择
- 22、Selenium + Python 实现 UI 自动化测试-操作日期时间控件
- selenium 处理日期控件
- selenium Webdriver 处理 —— 通过时间控件给文本框赋值
- selenium自动化测试-对时间控件的处理
- C语言中对时间和日期的处理
- GridView控件常见问题及处理方法===1. 关于隐藏字段的处理:==2. 关于按钮列的事件:==3. 关于按钮的客户端提示:==4. 关于时间字段的格式化输出:==5. 关于绑定空记录:
- 浅谈JAVA时间日期处理函数
- JS日期和时间选择控件
- javascript日期时间控件
- c#.NET 中关于日期时间的格式化处理 (转)
- 如何处理DateTime日期时间格式
- 日期带时间控件
- 类库-----一些经常用到的对控件的处理1. 获取文本框中输入内容2.清除文本框内容3. 获取下拉列表框中选择内容,类型0为Text值,类型1为Value值4.DropDownList绑定日期