zoukankan      html  css  js  c++  java
  • 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
            logging.info('----------时间查询测试成功---------')
            return True

  • 相关阅读:
    HashMap源码解读(转)
    使用javascript开发2048
    程序猿接私活经验总结,来自csdn论坛语录
    Cocos2d-x实例:设置背景音乐与音效- AppDelegate实现
    Jenkins(二)
    SVN高速新手教程
    Visio Premium 2010密钥+破解激活方法
    oracle中LAG()和LEAD()等分析统计函数的使用方法(统计月增长率)
    shell语法简单介绍
    memset函数具体说明
  • 原文地址:https://www.cnblogs.com/5566yesongqiao/p/14043731.html
Copyright © 2011-2022 走看看