1分钟了解一个测开小知识:
selenium对元素进行操作(三):日期控件处理
如果日期控件支持输入,可以直接使用send_keys,按照文本框录入时间。但是大多数日期控件,都是这种格式
选择日期" class="aty-input aty-input-hasicon">
控件的html描述是这样婶的。
可以看到readonly="readonly" ,说明日期控件不支持手动输入,
需要根据选项内容选择,然后确定。
这种操作就非常麻烦了。需要先定位到日期,然后定位确定。
这种情况,就需要动用核武器了!JS。不知道JS是什么的,手动百度下~
Time_Input_Xpath = '//*[@id="edit"]/div[2]/div[2]/div[2]/div[3]/div/div[1]/div/div[4]/div[1]/form/div[2]/div[2]/div/div[2]/table/tr[4]/td[4]/div/div/input' #捕捉日期控件的xpath路径
js = "document.getElementByXpath('{}').removeAttribute('readonly')".format(Time_Input_Xpath) # 定义JS去除日期控件的只读属性,让其可输入
driver.execute_script(js) # 使用webdriver,驱动JS,对html页面属性进行更改。
这样就可以不可录入的日期控件,录入日期格式数据了。
Time_Input = driver.find_element_by_xpath(Time_Input_Xpath)
Time_Input.send_keys('2021-07-28 07:06:07')
如果想要按照运行时间输入,就需要引用python日期库:datetime。datetime如何使用,之后在介绍python常用库的时候,详细介绍