操作日期元素

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

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

转载于:https://www.cnblogs.com/xiaxiaoxu/p/9203256.html

python webdriver api-操作日期元素的方法相关推荐

  1. python selenium定位元素方法,python + selenium 练习篇 - 定位元素的方法

    1.利用ID定位元素(能直接通过ID来定位的元素比较少) # coding=utf-8 from selenium import webdriver driver = webdriver.Chrome ...

  2. python中flush怎么用,在Python程序中操作文件之flush()方法的使用教程

    在Python程序中操作文件之flush()方法的使用教程 flush()方法刷新内部缓冲区,像标准输入输出的fflush.这类似文件的对象,无操作. Python关闭时自动刷新文件.但是可能要关闭任 ...

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

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

  4. Selenium3 Python WebDriver API源码探析(19)加载FireFox用户配置文件

    FireFox用户配置文件 Firefox 将用户个人信息(例如书签.密码.首选项.扩展.Cookie.证书等)保存在一系列文件中,它们被叫做用户配置文件,它们与 Firefox 的程序文件保存在不同 ...

  5. Selenium3 Python WebDriver API源码探析(10):动作链(ActionChains):鼠标事件和键盘事件

    鼠标.键盘事件是我们利用Selenium操控浏览器的重要交互手段,主要由selenium\webdriver\common\action_chains.py中的ActionChains类实现.该类通过 ...

  6. Python入门(5)——操作字符串的一些方法

    操作字符串的一些方法 修改字符串大小写 title():把字符串中每个单词首字母改为大写. upper():把字符串中所有字符改为大写. lower():把字符串中所有字符改为小写. >> ...

  7. python列表获取最后一个元素的方法_Python中如何获取 list/OrderedDict 的 第一个/最后一个 元素...

    本文最后更新于2016年5月14日,已超过 1 年没有更新,如果文章内容失效,还请反馈给我,谢谢! =Start= 缘由: 最近在工作中有接触到用Python的xmltodict模块进行XML的解析, ...

  8. Python连接并操作数据库的各种方法

    MySQLdb 和 pymysql PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb. PyMySQL 遵循 Python 数 ...

  9. 第三章 python webdriver API(一)——浏览器操作

    浏览器的操作 浏览器最大化 from selenium import webdriver driver = webdriver.Firefox() driver.get("https://w ...

最新文章

  1. 顶尖学者加盟!两所C9高校,获强援!
  2. 最快让你上手ReactiveCocoa之基础篇
  3. Windows Azure: Blob Container的访问权限与策略设置
  4. mysql8.0.13安装版_windows下mysql 8.0.13 解压版安装图文教程
  5. java之socket的OOBInline和UrgentData和发送心跳包研究
  6. android反射开启通知_Android中反射的简单应用
  7. c:forTokens
  8. iOS比较两张图的相似度
  9. Qt 中 Q_OBJECT 宏及 moc_*.cpp文件
  10. 三体归零者和盘龙鸿蒙,《三体》中归零者这样的大神级文明已经脱离黑暗森林和猜疑链了吗,为什么?...
  11. java set方法无法使用_Java setBounds无法与JPanel一起使用
  12. 云计算机怎么打游戏,云电脑玩游戏性能怎么样?会不会卡顿
  13. THINKPHP5(TP5)新手入门必看教程
  14. C语言:野指针成因。
  15. 一个包含30行代码的Python项目:如何在您最喜欢的Twitcher流式传输时设置SMS通知...
  16. python count函数时间复杂度_关于python:了解如何测量函数的时间复杂度
  17. Maple学习笔记——编程
  18. 费马大定理n=3时的欧拉证明,x^3+y^3=z^3无xyz≠0的整数解
  19. 天龙八部OL登录器编写之创建快捷方式
  20. 软件测评中心▏软件验收正式测试和非正式测试优缺点有哪些?

热门文章

  1. Spring 属性配置
  2. docker overview
  3. webpack 3 零基础入门教程 #4 - webpack 的配置文件 webpack.config.js
  4. 使用Data Profile进行数据剖析
  5. $.post $.getScript
  6. 帝国CMS附件大小限制
  7. 商场专柜私收银现象治理要点
  8. ZOJ 1970 All in All
  9. Nginx 作为代理服务与负载均衡
  10. 10.14.1-linux设置时间等