Webdriver io 如何从输入类型中清除日期=";日期“;与WebdriverIO

Webdriver io 如何从输入类型中清除日期=";日期“;与WebdriverIO,webdriver-io,Webdriver Io,我现在正在使用WebdriverIO开发一个web应用程序。 这些天来,我试图通过输入设置日期,但出现了错误 无效元素状态:元素必须是用户可编辑的才能清除 它 发现 我可以通过使用addValue()来消除错误,但该值仍然不会被任何API清除 client.clearElement('#deadline') 也得到 无效元素状态:元素必须是用户可编辑的才能清除 它 如何从表单中删除该值?这一点对我很有用: client.selectorExecute("#dateInput", functio

我现在正在使用
WebdriverIO
开发一个web应用程序。 这些天来,我试图通过输入设置日期,但出现了错误

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

发现 我可以通过使用
addValue()
来消除错误,但该值仍然不会被任何API清除

client.clearElement('#deadline')
也得到

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


如何从表单中删除该值?这一点对我很有用:

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;
})
client.选择或执行(“日期输入”),函数(输入,值){
//您可以运行输入
对于(变量i=0;i
您可以在浏览器脚本中运行以清除它

browser.execute(function () {
 document.querySelector('#deadline').value = '';
}, null);
或者给它一些价值

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

一种更优雅的方法是创建一个自定义命令,并将这段代码放入其中