selenium 操作日期控件
日期控件大都是input标签下弹出来的,如果使用webdriver 去设置日期,
1. 定位到该input
2. 使用sendKeys 方法
比如:
但是,有的日期控件是readonly的,没法调用WebElement的sendKeys()
比如:
办法一:使用JS remove readonly attribute,然后sendKeys
使用入职开始日期,将input标签的readonly熟悉去掉
JavascriptExecutor removeAttribute =(JavascriptExecutor)driver;//remove readonly attributeremoveAttribute.executeScript("var setDate=document.getElementById(\"BeginTime\");setDate.removeAttribute('readonly');") ;
方法二:采用click直接选择日期,日期控件是一个iframe,首先switch iframe,之后找到想要设置的日期button click,然后switch出来
WebElement dayElement=driver.findElement(By.xpath("//span[@id='from_imageClick']"));
dayElement.click();
// WebElement frameElement=driver.findElement(By.xpath("//iframe[@border='0']"));
driver.switchTo().frame(1);
driver.findElement(By.xpath("//tr/td[@οnclick='day_Click(2015,2,21);']")).click();
driver.switchTo().defaultContent();
具体代码如下:
WebDriver driver=new FirefoxDriver();driver.get("http://172.178.0.183");driver.manage().window().maximize();driver.manage().timeouts().pageLoadTimeout(60, TimeUnit.SECONDS);driver.manage().window().maximize();driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);JavascriptExecutor removeAttribute=(JavascriptExecutor)driver;
//remove readonly attribute
removeAttribute.executeScript("var setDate=document.getElementById(\"BeginTime\");setDate.removeAttribute('readonly');") ; WebElement setBeginDat=driver.findElement(By.id("BeginTime")); setBeginDat.clear(); setBeginDat.sendKeys("2015-02-18");WebElement setEndDat=driver.findElement(By.id("EndTime"));
setEndDat.click();//WebElement frameElement=driver.findElement(By.xpath("//iframe[@border='0']"));
driver.switchTo().frame(1);
driver.findElement(By.xpath("//tr/td[@οnclick='day_Click(2015,2,21);']")).click(); driver.switchTo().defaultContent();
原文:http://www.cnblogs.com/tobecrazy/p/4206742.html
selenium 操作日期控件相关推荐
- webdriver高级应用- 操作日期控件
1. 通过点击的方式操作日期控件 #encoding=utf-8 from selenium import webdriver import unittest, time, traceback fro ...
- python 日历控件_python selenium 处理时间日期控件(十六)
测试过程中经常遇到时间控件,需要我们来选择日期,一般处理时间控件通过层级定位来操作或者通过调用js来实现. 1.首先我们看一下如何通过层级定位来操作时间控件. 通过示例图可以看到,日期控件是无法输入日 ...
- selenium操作日历控件
日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如何解决日历控件为readonly属性的问题. 基本思路:先用js去掉 ...
- Java+Selenium自动化对非输入框的日历或日期控件的处理
如图: 1.问题描述: 在应用selenium实现web自动化时,经常会遇到处理日期控件点击问题,手工很简单,可以一个个点击日期控件选择需要的日期,但自动化执行过程中,完全复制手工这 ...
- selenium控制日历控件
在使用selenium爬取数据时,有时会需要选择日期,来获取某个时间段的数据.网页上日历控件一般是一个文本输入框,鼠标点击,就会弹出日历界面,可以选择具体日期.这篇就介绍用selenium如何实现自 ...
- Wdatepicker日期控件的使用指南
示例2-3-1 起始日期简单应用 示例2-3-2 alwaysUseStartDate属性应用 示例2-3-3 使用内置参数 示例 2-4-1: 年月日时分秒 示例 2-4-2 时分秒 示例 2-4- ...
- 机房系统(八)——【日期控件DTPicker、比较日期大小】
"宁可让程序(员)多干活,也不能让用户多做".本着为用户着想.给用户以方便的原则,系统中用选代替填,给用户减少很多不必要的麻烦. 在机房系统里遇到了填写日期的问题.VB中已 ...
- layDate1.0正式公布,您一直在寻找的的js日期控件
你是时候换一款日期控件了,而layDate很愿意和您成为工作伙伴.她正致力于成为全球最高大上的web日期支撑,为国内外全部从事web应用开发的同仁提供力所能及的动力.她基于原生JavaScript精心 ...
- Selenium处理Select控件
Selenium处理Select控件 1.介绍: 在进行Web应用自动化测试的过程中,Select下拉框是我们经常会操作的控件,Selenium针对这种控件封装了Select类供我们测试使用.当然,也 ...
最新文章
- ORACLE 11G安装全过程
- 展望我的2022Flag
- Visual Studio 2017 调试 windows server 2016 Docker Container
- python知识总结os**
- Python之网络爬虫(验证码、代理IP、防反爬策略、封装一个抓取页面的函数)
- Disabling Shortcut Keys in Full Screen mode
- java.net.UnknownHostException 未知的名称或服务
- mybatis传参总结
- MQTT的学习研究(十)【转】mosquitto——一个开源的mqtt代理
- PHP把商品详情数据加入到商品数据,如果商品有多个详情只展示一次商品数据
- 机动车驾驶证扣分查询
- 安微六安二中2021高考成绩查询,喜报!六安一中、六安二中、毛坦厂中学......高考“成绩单”出炉...
- 微信小程序开发常见问题解答
- Spring整合RabbitMQ(包含生产者和消费者)
- 【Python代码实践】使用Python批量获取雨课堂图片
- 苹果cms重名视频怎么合并
- redhat linux 批量改名,CentOS的批量改名命令 rename和prename
- 自动阅读教程--五条app
- mysql实操《学生表》
- 【程序人生】那些争议最大的编程观点