clear()函数对数字类型的输入不起作用

The clear() function does not work on input of type number

本文关键字:类型 输入 不起作用 数字 函数 clear      更新时间:2023-09-26

我有量角器2.2.0。

clear()函数对类型为number的输入无效。我已经尝试了这里给出的大多数解决方案。请帮帮我。下面是我的代码:

element(by.model('lineup.voltage_limit')).click().clear().sendKeys(value);

我已经尝试解决clear()中的承诺,就像下面

element(by.model('lineup.voltage_limit')).click().clear().then(function(){
   element(by.model('lineup.voltage_limit')).sendKeys(value); 
});

clear()似乎不工作!它只是继续添加到输入框中的文本。

我实际上能够通过像这样两次调用clear来获得我的工作

numInput.clear().clear().sendKeys('7');

不确定这是否适用于每个人,但它适用于我。Alexce的回答看起来也不错。

edit:这似乎只在某些时候有效。我不知道为什么,也许我的输入很奇怪

我无法使用这个演示页面重现这个问题。这是我用过的测试。

我怀疑你的输入有些特殊,必须总是有一个值。我们可以做的是CTRL/COMMAND + A 预先选择现有的文本,这样一旦你开始发送密钥,现有的文本就会被新插入的替换:

var elm = element(by.model('lineup.voltage_limit'));
elm.click().sendKeys(protractor.Key.chord(browser.controlKey, "a"));
elm.sendKeys(value);

其中browser.controlKey是在不同平台上处理CTRLCOMMAND的一种方式。


作为一个边注,我也会升级Protractor到最新的版本(目前是3.0),它会带来新的网络驱动程序,可能会更好地处理你的问题。