python webdriver api-操作日期元素的方法
操作日期元素

第一种方式直接向输入框输入日期
dateInputBox = self.driver.find_element_by_id("datepicker")
dateInputBox.send_keys("11/24/2016")
#encoding=utf-8
from selenium import webdriver
import unittest, time, traceback
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException, NoSuchElementException
class TestDemo(unittest.TestCase):
def setUp(self):
# 启动Chrome浏览器
#self.driver = webdriver.Ie(executable_path = "e:\\IEDriverServer")
self.driver = webdriver.Firefox(executable_path = "d:\\geckodriver")
def test_datePicker(self):
url = "http://jqueryui.com/resources/demos/datepicker/other-months.html"
# 访问指定的网址
self.driver.get(url)
try:
# 创建一个显示等待对象
wait = WebDriverWait(self.driver, 10, 0.2)
# 显示等待判断被测试页面上的日期输入框是否可见并且能被点击
wait.until(EC.element_to_be_clickable((By.ID, 'datepicker')))
except TimeoutException, e:
# 捕获TimeoutException异常
print traceback.print_exc()
except NoSuchElementException, e:
# 捕获NoSuchElementException异常
print traceback.print_exc()
except Exception, e:
# 捕获其他异常
print traceback.print_exc()
else:
# 查找被测试页面上的日期输入框页面元素
dateInputBox = self.driver.find_element_by_id("datepicker")
# 查找到日期输入框,直接输入指定格式的日期字符串
# 就可以变相模拟在日期控件上进行选择了
dateInputBox.send_keys("11/24/2016")
time.sleep(3)
def tearDown(self):
# 退出IE浏览器
self.driver.quit()
if __name__ == '__main__':
unittest.main()
D:\test>python test.py
.
----------------------------------------------------------------------
Ran 1 test in 31.638s
OK
第二种方式点选,找到某个日期,直接选
dateInputBox = self.driver.find_element_by_id("datepicker")
dateInputBox.click()
self.driver.find_element_by_xpath(".//*[@id='ui-datepicker-div']/table/tbody/tr[2]/td[1]/a").click()
如果想跨天可以点击下边元素试试
//*[@id='ui-datepicker-div']/div/a[2]/span
#self.driver = webdriver.Firefox(executable_path = "d:\\geckodriver")
#encoding=utf-8
from selenium import webdriver
import unittest, time, traceback
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException, NoSuchElementException
class TestDemo(unittest.TestCase):
def setUp(self):
# 启动Chrome浏览器
self.driver = webdriver.Firefox(executable_path = "d:\\geckodriver")
def test_datePicker(self):
url = "http://jqueryui.com/resources/demos/datepicker/other-months.html"
# 访问指定的网址
self.driver.get(url)
try:
# 创建一个显示等待对象
wait = WebDriverWait(self.driver, 10, 0.2)
# 显示等待判断被测试页面上的日期输入框是否可见并且能被点击
wait.until(EC.element_to_be_clickable((By.ID, 'datepicker')))
except TimeoutException, e:
# 捕获TimeoutException异常
print traceback.print_exc()
except NoSuchElementException, e:
# 捕获NoSuchElementException异常
print traceback.print_exc()
except Exception, e:
# 捕获其他异常
print traceback.print_exc()
else:
# 查找被测试页面上的日期输入框页面元素
dateInputBox = self.driver.find_element_by_id("datepicker")
# 查找到日期输入框,直接输入指定格式的日期字符串
# 就可以变相模拟在日期控件上进行选择了
# dateInputBox.send_keys("11/24/2016") #直接输入的方式,
dateInputBox.click()
time.sleep(1)
self.driver.find_element_by_xpath(".//*[@id='ui-datepicker-div']/table/tbody/tr[2]/td[1]/a").click()
time.sleep(3)
def tearDown(self):
# 退出IE浏览器
self.driver.quit()
if __name__ == '__main__':
unittest.main()
D:\test>python test.py
.
----------------------------------------------------------------------
Ran 1 test in 32.865s
OK
python webdriver api-操作日期元素的方法的更多相关文章
- python去除列表中重复元素的方法
列表中元素位置的索引用的是L.index 本文实例讲述了Python去除列表中重复元素的方法.分享给大家供大家参考.具体如下: 比较容易记忆的是用内置的set 1 2 3 l1 = ['b','c', ...
- 利用 jQuery 操作页面元素的方法,实现电商网站购物车页面商品数量的增加和减少操作,要求单项价格和总价随着数量的改变而改变
查看本章节 查看作业目录 需求说明: 利用 jQuery 操作页面元素的方法,实现电商网站购物车页面商品数量的增加和减少操作,要求单项价格和总价随着数量的改变而改变 当用户单击"+" ...
- 使用 jQuery 操作页面元素的方法,实现浏览大图片的效果,在页面上插入一幅小图片,当鼠标悬停到小图片上时,在小图片的右侧出现与之相对应的大图片
查看本章节 查看作业目录 需求说明: 使用 jQuery 操作页面元素的方法,实现浏览大图片的效果,在页面上插入一幅小图片,当鼠标悬停到小图片上时,在小图片的右侧出现与之相对应的大图片 实现思路: 在 ...
- 转:python webdriver API 之浏览器的操作
1.1.浏览器最大化在统一的浏览器大小下运行用例,可以比较容易的跟一些基于图像比对的工具进行结合,提升测试的灵活性及普遍适用性.比如可以跟 sikuli 结合,使用 sikuli 操作 flash.# ...
- 转:python webdriver API 之操作测试对象
一般来说,所有有趣的操作与页面交互都将通过 WebElement 接口,包括上一节中介绍的对象定位,以及本节中需要介绍的常对象操作.webdriver 中比较常用的操作元素的方法有下面几个: cle ...
- 转:python webdriver API 之定位一组对象
webdriver 可以很方便的使用 find_element 方法来定位某个特定的对象,不过有时候我们却需要定位一组对象,WebElement 接口同样提供了定位一组元素的方法 find_eleme ...
- 转:python webdriver API 之简单对象的定位
对象(元素)的定位和操作是自动化测试的核心部分,其中操作又是建立在定位的基础上的,因此元素定位就显得非常重要. (本书中用到的对象与元素同为一个事物)一个对象就像是一个人,他会有各种的特征(属性) , ...
- webdriver报不可见元素异常方法总结
最近一直在学Selenium相关东西,学到webdriver这块,出现报不可见元素异常方法异常,后来网上找了好多相关资料都没搞定,也没看明白,最后发现是xpath中写了calss属性有问题.现在把学习 ...
- 转:python webdriver API 之设置等待时间
有时候为了保证脚本运行的稳定性,需要脚本中添加等待时间.sleep(): 设置固定休眠时间. python 的 time 包提供了休眠方法 sleep() , 导入 time 包后就可以使用 slee ...
随机推荐
- Android Popup Window 居于控件上方突出显示
public class TestPopupWindowActivity extends PopupWindow { Activity context; public TestPopupWindowA ...
- ELK之使用filebeat的多行过滤插件把多行合并成一行
java运行日志一般有多行,格式类似如下 格式为:日期 + 日志级别 + 日志信息 有些日志是多行的,需要使用filebeat多行插件把多行合并成一行 未使用多行插件的日志格式 修改filebeat配 ...
- 计蒜客 31451 - Ka Chang - [DFS序+树状数组][2018ICPC沈阳网络预赛J题]
题目链接:https://nanti.jisuanke.com/t/31451 Given a rooted tree ( the root is node $1$ ) of $N$ nodes. I ...
- 最大生成树——LCA
今天说是要练习LCA结果找了道题看着题解打完了,如此惭愧,Lca还得好好理解啊,感觉在最大生成树上做有点异样,可能还是不是很理解吧,在noip前一定要再把这道题再a一遍,好题啊. 这是2013noip ...
- Jungle Roads---poj1251 hdu1301
Description The Head Elder of the tropical island of Lagrishan has a problem. A burst of foreign aid ...
- CDN工作过程(第二种版本)
作者:代希刚链接:https://www.zhihu.com/question/36514327/answer/121026637来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...
- requests库的get请求(加上head,加上get参数请求)
#coding:utf-8 # 导入requests import requests # 构建url url = 'http://www.baidu.com' # 发送请求,获取响应 # respon ...
- 控制div显示隐藏(有文字图片介绍)
<div class="toggle"> <p id="zi">收起</p> <p id="zhe" ...
- ASP.NET一个页面的生命周期
在学习ASP.NET页面生命周期前,需要先了解之前的ASP.NET的基本运行机制,在理解ASP.NET基本运行机制原理后,下面将介绍ASP.NET的生命周期中,页面从创建到处理结束的过程中ASP.NE ...
- HTML输入框的默认显示内容
在某些情况下我们会需要在输入框里默认显示一些内容,比如在登录的时候不在输入框前面显示用户名和密码,直接在输入框里显示,这时只要在input的标签里添加属性 placeholder="用户名 ...