如何从输入类型中清除日期="日期"使用WebdriverIO

时间:2015-11-03 12:37:00

标签: webdriver-io

我现在正在使用WebdriverIO并开发一个网络应用。 这些天我试图从输入type="date"设置日期,我有错误

  

无效的元素状态:元素必须是用户可编辑的才能清除   它

并发现了 我可以使用addValue()来消除错误,但仍然无法通过任何API清除该值。

client.clearElement('#deadline')

也得到

  

无效的元素状态:元素必须是用户可编辑的才能清除   它

如何从表单中删除值?

2 个答案:

答案 0 :(得分:1)

您可以在浏览器脚本中运行以清除它

browser.execute(function () {
 document.querySelector('#deadline').value = '';
}, null);

或给它一些价值

var date = '2020-03-28';
browser.execute(function (date) {
 document.querySelector('#deadline').value = date';
}, date);

参考:https://github.com/webdriverio/webdriverio/issues/386

更优雅的方法是创建一个自定义命令并将这段代码放在

答案 1 :(得分:0)

这个对我有用:

client.selectorExecute("#dateInput", function(inputs, value) {
    // you can run over the inputs
    for (var i = 0; i < inputs.length; i++) {
        if (inputs[i].type == 'date') // any condition
            inputs[i].value = "1973-12-09";
    }

    // or just do that:
    inputs[i].value = "1973-12-09";
    return;
})