我现在正在使用WebdriverIO
并开发一个网络应用。
这些天我试图从输入type="date"
设置日期,我有错误
无效的元素状态:元素必须是用户可编辑的才能清除 它
并发现了
我可以使用addValue()
来消除错误,但仍然无法通过任何API清除该值。
client.clearElement('#deadline')
也得到
无效的元素状态:元素必须是用户可编辑的才能清除 它
如何从表单中删除值?
答案 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;
})