操作日期元素

第一种方式直接向输入框输入日期

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-操作日期元素的方法的更多相关文章

  1. python去除列表中重复元素的方法

    列表中元素位置的索引用的是L.index 本文实例讲述了Python去除列表中重复元素的方法.分享给大家供大家参考.具体如下: 比较容易记忆的是用内置的set 1 2 3 l1 = ['b','c', ...

  2. 利用 jQuery 操作页面元素的方法,实现电商网站购物车页面商品数量的增加和减少操作,要求单项价格和总价随着数量的改变而改变

    查看本章节 查看作业目录 需求说明: 利用 jQuery 操作页面元素的方法,实现电商网站购物车页面商品数量的增加和减少操作,要求单项价格和总价随着数量的改变而改变 当用户单击"+" ...

  3. 使用 jQuery 操作页面元素的方法,实现浏览大图片的效果,在页面上插入一幅小图片,当鼠标悬停到小图片上时,在小图片的右侧出现与之相对应的大图片

    查看本章节 查看作业目录 需求说明: 使用 jQuery 操作页面元素的方法,实现浏览大图片的效果,在页面上插入一幅小图片,当鼠标悬停到小图片上时,在小图片的右侧出现与之相对应的大图片 实现思路: 在 ...

  4. 转:python webdriver API 之浏览器的操作

    1.1.浏览器最大化在统一的浏览器大小下运行用例,可以比较容易的跟一些基于图像比对的工具进行结合,提升测试的灵活性及普遍适用性.比如可以跟 sikuli 结合,使用 sikuli 操作 flash.# ...

  5. 转:python webdriver API 之操作测试对象

    一般来说,所有有趣的操作与页面交互都将通过 WebElement 接口,包括上一节中介绍的对象定位,以及本节中需要介绍的常对象操作.webdriver 中比较常用的操作元素的方法有下面几个: cle ...

  6. 转:python webdriver API 之定位一组对象

    webdriver 可以很方便的使用 find_element 方法来定位某个特定的对象,不过有时候我们却需要定位一组对象,WebElement 接口同样提供了定位一组元素的方法 find_eleme ...

  7. 转:python webdriver API 之简单对象的定位

    对象(元素)的定位和操作是自动化测试的核心部分,其中操作又是建立在定位的基础上的,因此元素定位就显得非常重要. (本书中用到的对象与元素同为一个事物)一个对象就像是一个人,他会有各种的特征(属性) , ...

  8. webdriver报不可见元素异常方法总结

    最近一直在学Selenium相关东西,学到webdriver这块,出现报不可见元素异常方法异常,后来网上找了好多相关资料都没搞定,也没看明白,最后发现是xpath中写了calss属性有问题.现在把学习 ...

  9. 转:python webdriver API 之设置等待时间

    有时候为了保证脚本运行的稳定性,需要脚本中添加等待时间.sleep(): 设置固定休眠时间. python 的 time 包提供了休眠方法 sleep() , 导入 time 包后就可以使用 slee ...

随机推荐

  1. [工具] 将Sublime Text 3配置为Java代码编辑器

    新建编译器选项 选择菜单栏中的 Tools ——> Build System ——> New Build System ,输入: { "cmd": ["jav ...

  2. Thinkphp框架下对某个字段查询数据的时候进行唯一过滤,返回唯一不同的值

    方法一. DISTINCT 方法用于返回唯一不同的值 . *distinct方法的参数是一个布尔值. 用法: $data = $Model->Distinct(true)->field(' ...

  3. python的类中为什么要引入self

    从第一次接触python的面向对象编程时起就很看不惯它的self,简直反人类. 相关资源: What is the purpose of self in Python? http://stackove ...

  4. linux安装环境

    我用的是Linux ubuntu 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64 x86_64 ...

  5. Jmeter与Jenkins结合进行Web接口测试

    纯通过Jmeter的界面进行Web的接口测试,效率低下.为此将Jmeter的接口测试与Jenkins联合,实现持续集成.配置完成后,只需修改运行的Jmeter脚本即可,运行结束后测试结果发送到指定邮箱 ...

  6. poj1001 Exponentiation【java大数】

    Exponentiation Time Limit: 500MS   Memory Limit: 10000K Total Submissions: 183034   Accepted: 44062 ...

  7. oracle11gR2 win7_32位客户端连接虚拟机中oracle11gR2 win7_32位服务器方法

    改写服务器中的监听文件(listener.ora和tnsnames.ora) “ora-12541:TNS:无监听程序”问题的解决 ora-12541:TNS:无监听程序,出现这种错误的时候,可以尝试 ...

  8. python数据结构之树(二分查找树)

    本篇学习笔记记录二叉查找树的定义以及用python实现数据结构增.删.查的操作. 二叉查找树(Binary Search Tree) 简称BST,又叫二叉排序树(Binary Sort Tree),是 ...

  9. PL/SQL自定义函数

    从SQL表达式中调用函数的限制 为了从SQL表达式中调用函数,一个用户定义函数必须: 是存储函数 只接受IN函数 只接收有受的SQL数据类型,而不接受PL/SQL数据类型 返回数据类型为有效的SQL数 ...

  10. linux rz sz的安装

    可以使用yum来安装 yum -y install lrzsz 然后rz就是上传文件,sz就是把文件导到本地.sz 文件名  即可