在搜索框自动输入文本_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(向右滑動查看完整代碼)鏈接:https://www.cnblogs.com/5566yesongqiao/p/14043731.html
本文為51Testing經授權轉載,轉載文章所包含的文字來源于作者。如因內容或版權等問題,請聯系51Testing進行刪除
推薦閱讀點擊閱讀?Selenium實現分布式執行?靠的就是它!
點擊閱讀?Selenium用倦了?來試試Seldom吧!
點擊閱讀?最喜歡Selenium Web自動化實踐案例了,跟著敲代碼不香嗎
點擊閱讀?雙劍合璧!利用Selenium調用JS代碼
點擊閱讀?使用CentOS 命令Selenium自動測試
戳總結
以上是生活随笔為你收集整理的在搜索框自动输入文本_Selenium 时间搜索框查询和日期大小比较的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 十五、类与封装的概念
- 下一篇: zabbix4