You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Robot Framework/Selenium2Library向HTML表单输入datetime并避免重置

解决datetime-local输入框输入后重置的问题

在使用Robot Framework测试时,通过Press Keys关键字向datetime-local类型的输入框输入240120310959后,输入内容会被重置无法保留。核心原因是**datetime-local输入框有严格的格式规范**,直接输入纯数字不符合浏览器预期的格式,导致浏览器自动清空无效值。

解决方案

方案一:通过JavaScript直接设置输入框值(最可靠)

直接调用JavaScript修改输入框的value属性,赋值符合YYYY-MM-DDTHH:MM格式的字符串,绕过模拟按键的格式问题:

*** Settings ***
Documentation  Ptest
Library  Selenium2Library

*** Test Cases ***
Select a date from datetime-local input
    Open Browser  http://127.0.0.1:5500/pb.html  Chrome
    Wait Until Element Is Visible    id:party 
    # 赋值符合格式的日期时间:2024年1月31日 09:59
    Execute JavaScript    document.getElementById('party').value = '2024-01-31T09:59'

方案二:使用Press Keys输入规范格式内容

如果坚持使用模拟按键输入,需要输入符合YYYY-MM-DDTHH:MM格式的字符串,确保浏览器识别为有效值:

*** Settings ***
Documentation  Ptest
Library  Selenium2Library

*** Test Cases ***
Select a date from datetime-local input
    Open Browser  http://127.0.0.1:5500/pb.html  Chrome
    Wait Until Element Is Visible    id:party 
    # 点击激活输入框后,输入规范格式的内容
    Click Element    id:party
    Press Keys     id:party    2024-01-31T09:59

关键说明

datetime-local类型的输入框对格式有强制要求,仅接受YYYY-MM-DDTHH:MM格式的字符串(比如2024-01-31T09:59)。之前输入的240120310959属于无格式的纯数字,浏览器会判定为无效输入,因此自动重置清空内容。

内容的提问来源于stack exchange,提问作者Yoseph_Reyes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 01:05:26