selenium之 时间日期控件的处理(转)

Posted pengpeng002

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium之 时间日期控件的处理(转)相关的知识,希望对你有一定的参考价值。

我们不去搞时间日期空间,我们把它当成一个普通的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

当然,这里还得说一下,有人说他遇到的日期时间框没有id、name,这里提醒一下,这就是普通的input框,定位方法太多了,class、tag name、xpath、css,总有一种适合你。同时友情提醒一下:注意时刻提防iframe!


---------------------
作者:huilan_same
来源:CSDN
原文:https://blog.csdn.net/huilan_same/article/details/52385401














以上是关于selenium之 时间日期控件的处理(转)的主要内容,如果未能解决你的问题,请参考以下文章

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

selenium日期控件不能直接输入的两种处理方式

Selenium 日期控件处理

selenium - js日历控件处理

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

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