4

私は現在WebdriverIO、Webアプリを使用して開発しています。最近、入力から日付を設定しようとしましたtype="date"が、エラーが発生しました

無効な要素の状態: 要素を消去するには、要素をユーザーが編集できる必要があります。

を使用してエラーを取り除くことができることがわかりましたaddValue()が、それでも値はどの API でもクリアされません。

client.clearElement('#deadline')

また得る

無効な要素の状態: 要素を消去するには、要素をユーザーが編集できる必要があります。

フォームから値を削除するにはどうすればよいですか?

4

2 に答える 2

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

より洗練された方法は、カスタム コマンドを作成し、このコードを内部に配置することです。

于 2016-09-23T06:06:37.487 に答える
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;
})
于 2015-11-04T14:25:14.587 に答える