python selenium 时间搜索框查询和日期大小比较
在做selenium自动化的时候遇到 时间搜索框查询(如下图)并比较查询结果是否在输入的时间之类。

首先,第一步要做的就是选择时间,并获取到所选时间的文本信息

如上图所示,获取到的时间搜索框并没有文本信息,如果直接用 .text 方法打印结果为空
所以采用get_attribute()的方法获取元素的属性,代码实现如下
def get_element_attribute(self, selector: str, value='value') -> str:
"""获取元素属性"""
ele = self.find_element(selector)
return ele.get_attribute(value)
selector: 元素定位信息
value:需要获取的属性,默认为value
获取到搜索时间属性后,我们打印结果为 2020/10/27 00:00:00 - 2020/11/26 00:00:00 ,类型为str
此时需要使用 split() 方法把结果拆分为单个日期并使用 datetime.datetime.strptime(date_string, format) 方法转换成日期类型,
date_string: 时间字符串
format: 传入的时间字符串的格式类型,
完整代码实现如下
def select_time(self):
"""时间查询"""
self.get_high_class()[0].click()
self.get_date().click()
self.get_days30().click()
self.get_date_confirm().click()
time.sleep(0.5)
#获取输入的时间并转换成date类型
timevalue = self.get_time_value()
str_start_time = timevalue.split('-')[0].strip()
str_end_time = timevalue.split('-')[1].strip()
logging.info(timevalue)
logging.info(str_start_time)
logging.info(str_end_time)
start_time = datetime.datetime.strptime(str_start_time, '%Y/%m/%d %H:%M:%S')
end_time = datetime.datetime.strptime(str_end_time, '%Y/%m/%d %H:%M:%S')
self.get_select()[0].click()
time.sleep(2)
time_text = self.get_date_text()
for i in time_text:
result_time = datetime.datetime.strptime(i.text, '%Y/%m/%d %H:%M:%S')
if start_time >= result_time or end_time <= result_time:
logging.error('----------时间查询异常,异常时间 %s ---------' % i.text)
return False
else:
logging.info('----------时间查询测试成功---------')
return True
python selenium 时间搜索框查询和日期大小比较的更多相关文章
- 实现DataTables搜索框查询结果高亮显示
DataTables是封装好的HTML表格插件,丰富了HTML表格的样式,提供了即时搜索.分页等多种表格高级功能.用户可以编写很少的代码(甚至只是使用官方的示例代码),做出一个漂亮的表格以展示数据.关 ...
- C# 动态生成word文档 [C#学习笔记3]关于Main(string[ ] args)中args命令行参数 实现DataTables搜索框查询结果高亮显示 二维码神器QRCoder Asp.net MVC 中 CodeFirst 开发模式实例
C# 动态生成word文档 本文以一个简单的小例子,简述利用C#语言开发word表格相关的知识,仅供学习分享使用,如有不足之处,还请指正. 在工程中引用word的动态库 在项目中,点击项目名称右键-- ...
- python selenium下拉框定位
一.前言 总结一下python+selenium select下拉选择框定位处理的两种方式,以备后续使用时查询: 二.直接定位(XPath) 使用Firebug找到需要定位到的元素,直接右键复制XPa ...
- select2搜索框查询加遍历
<div class="form-group"> <label class="control-label col-sm-1 no-padding-rig ...
- angular实现输入框输入添加 搜索框查询
!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"&g ...
- Python+selenium(警告框处理)
在Webdriver中处理JavaScript生成的alert.confirm.prompt,使用switch_to_alert()方法定位到alert.confirm.prompt,然后进行如下操作 ...
- Python Selenium百度搜索翻页查找文字
#!/usr/bin/python # -*- coding: utf- -*- from selenium import webdriver import time # browser = webd ...
- python selenium 下拉框
下拉框的处理如下代码: 定位select有很多种方式,这里介绍两种定位方式 1.二次定位 先定位到下拉框:self.dr.find_element_by_css_selector('#business ...
- Python+Selenium - Alert弹框
上面三种弹窗可以在浏览器的控制台做出效果,如下图 上面三种弹窗可以用alert方法处理 示例: #出现弹窗的操作xxxx# 切换al = driver.switch_to.alert# print(a ...
随机推荐
- 腾讯云服务器简单搭建并部署WEB文件
废话不多说直接上图 提前准备以下软件 1. Xshell6 链接你的服务器用 2. FileZilla 上传文件使用 首先你得有服务器吧,去某云买一个,我买的额配置如下 然后去控制台---登录 修改 ...
- Preparation for MCM/ICM Writing
Preparation for MCM/ICM Writing -- by Chance Zhang $1^{st}ed$ key words: MCM/ICM, format, phrases, t ...
- Go读取论文并转换为simhahs
package main import ( "fmt" _"flag" _ "os" _ "io/ioutil" _&q ...
- W: Possible missing firmware /lib/firmware/i915/bxt_guc_ver8_7.bin for module i915
在执行sudo update-initramfs -u过程中 出现这个错误意思就是说少了固件,只要去下载放到/lib/firmware/i915文件夹下就好了. 下载链接如下: https://git ...
- 剑指41和为s的连续整数序列
题目描述 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数).没多久,他 ...
- vuex和axios的基本操作
1.在src目录下创建一个api 是用于集中处理axios的相关配置 index.js就是处理axios的文件 具体如何使用axios 还请百度axios 2.URLs.js是存放需要请求的地址的 3 ...
- Python正则表达式-换行的匹配
找到了之前参考的博文,用来记录一下https://www.cnblogs.com/baxianhua/p/8572805.html 平常 点 (.)去匹配任意字符的时候,是不能匹配换行符的 匹配换行: ...
- 无法将“add-migration”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。解决方案
在程序包管理控制台中执行 Install-Package Microsoft.EntityFrameworkCore.Tools
- ERP中HR模块的操作与设计--开源软件诞生26
赤龙ERP的EHR功能讲解--第26篇 用日志记录"开源软件"的诞生 [进入地址 点亮星星]----祈盼着一个鼓励 博主开源地址: 码云:https://gitee.com/red ...
- 1+X云计算平台运维与开发(中级)eNSP A~E卷 试题+答案
1+X云计算平台运维与开发(中级)eNSP A~E卷 试题+答案 A卷 路由器管理(40分) 41 配置R1和R2路由器(路由器使用R2220),R1路由器配置端口g0/0/1地址为192.168.1 ...