selenium,日期控件输入值问题解决
方法一:
- 使用js代码移除<readonly>属性,后可直接使用send_keys
直接输入,可能存在无法赋值问题
#清除html readonly关键字
def execute_script_removeAttr(self,element):
# js = "document.getElementById('txtBeginDate').removeAttribute('readonly')" # 1.原生js,移除属性
self.driver.execute_script("arguments[0].removeAttribute('readonly')", element)
方法二:
- 使用js代码,给value属性赋值,建议在控制台,准确定位到日期value标签位置
def js_set_Value(self,element,value):
'''
:param element: element
:param value: 变量值
:return: 给value赋值
'''
js = f'arguments[0].value="{value}"'
self.driver.execute_script(js,element)