如何使用 Selenium 和 Python 更改日期选择器的值
How to change the value of datepicker using Selenium and Python
在 table
元素中,我有以下日期选择器:
<input name="tb_date" type="text" value="2020-07-15" onchange="javascript:setTimeout('__doPostBack(\'tb_date\',\'\')', 0)" onkeypress="if (WebForm_TextBoxKeyHandler(event) == false) return false;" id="tb_date" class="align-center" style="font-size:14pt;width:120px;">
我可以得到输入元素如下:
date_element = driver.find_element_by_name('tb_date')
没关系。但是当我尝试更改此元素的值时,它似乎 append 到当前值。
date_element.send_keys('2020-07-01')
date_element.click()
所以日期选择器的值为'2020-07-152020-07-01'
如何删除值属性并输入新值?
您可以清除然后将密钥发送到该字段。
date_element.clear();
date_element.send_keys('2020-07-01')
date_element.click();
尝试使用 .execute_script
:
date_element = driver.find_element_by_name('tb_date')
driver.execute_script("arguments[0].value = '2020-07-01';", date_element)
在 table
元素中,我有以下日期选择器:
<input name="tb_date" type="text" value="2020-07-15" onchange="javascript:setTimeout('__doPostBack(\'tb_date\',\'\')', 0)" onkeypress="if (WebForm_TextBoxKeyHandler(event) == false) return false;" id="tb_date" class="align-center" style="font-size:14pt;width:120px;">
我可以得到输入元素如下:
date_element = driver.find_element_by_name('tb_date')
没关系。但是当我尝试更改此元素的值时,它似乎 append 到当前值。
date_element.send_keys('2020-07-01')
date_element.click()
所以日期选择器的值为'2020-07-152020-07-01'
如何删除值属性并输入新值?
您可以清除然后将密钥发送到该字段。
date_element.clear();
date_element.send_keys('2020-07-01')
date_element.click();
尝试使用 .execute_script
:
date_element = driver.find_element_by_name('tb_date')
driver.execute_script("arguments[0].value = '2020-07-01';", date_element)