python webdriver api-操作日期元素的方法
Posted 夏晓旭
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 webdriver api-操作富文本框-待续
Selenium2+Python:Webdriver API速记手册
python+selenium自动测试之WebDriver的常用API(基础篇一)