我使用Python 3.7和Selenium,试图使用send_keys((将日期和时间输入到网站中两个明显相同的文本输入框中。
时间输入框工作正常,send_keys('00:00:00'(根据需要写入时间。
无论我尝试使用何种格式发送字符串,Date输入框都不会做出反应。在写作之前,我尝试过添加.click((、.clear((、Keys.HOME,但都没有成功。
我不知道有什么区别。
startTimeBox = browser.find_element_by_name('TimeStart')
startTimeBox.get_attribute('outerHTML')
Out[187]: '<input name="TimeStart" id="TimeStart" title="Please enter start time" size="10" maxlength="12" value="00:00:00" type="time">'
startDateBox = browser.find_element_by_name('DateStart')
startDateBox.get_attribute('outerHTML')
Out[185]: '<input name="DateStart" id="DateStart" title="Please enter start date" size="10" maxlength="11" value="09/11/2018" style="" type="date">'
好吧,并排看这个,我注意到了日期框中的"风格"部分。我想这可能会影响它。
正如JacobIRR在评论中提到的,Firefox驱动程序可能存在问题,而不是使用Chrome驱动程序,或者在发送密钥之前单击字段。
解决方法是在发送密钥之前尝试使用click()
。