【发布时间】:2020-10-14 23:25:34
【问题描述】:
你好 stackoverflow 社区!
问题
我有这段 HTML 代码:
<div class="ds-u-clearfix ds-l-col--auto">
:: before
<label class="ds-c-label ds-u-font-weight--normal ds-u-margin-top--1" for="textfield_13" id="textfield_label_14">
<span class="">Day</span>
</label>
<input class="ds-c-field ds-c-field--day ds-c-field--error" id="textfield_13" type="number" max="31" min="1" name="day" aria-describedby="datefield_label_10" value="01">
:: after
</div>
我正在使用量角器进行测试自动化,我需要清除一个已经有值的输入字段。量角器的.clear() 不起作用(实际上没有效果)。所以我虽然可以向 devtools 的控制台注入一个脚本来更改值。但是当我这样做时(例如$elem.value = ""),它看起来像是在清除输入,但如果我开始输入另一个值,前一个值会再次出现
问题
如何永久清除输入的值?
到目前为止我尝试了什么
$elem.value = "";
$elem.value = null;
$elem.defaultValue = "";
$elem.setAttribute ("value", "");
// and many more
再一次,每当我这样做^^时,看起来输入已被清除,但如果我开始输入,值就会返回
感谢您阅读到最后:)
【问题讨论】:
-
坦率地说,我不在乎如何解决这个问题——来自 devtools 或量角器本身,所以任何想法都会受到赞赏。我在考虑先做
ctrl + A,然后再做Delete,但这与Mac 不兼容。 Mac 需要Command + A,并且看起来永远不会支持命令键github.com/angular/protractor/issues/690 -
您可以使用 document.getElementById("textfield_13").value = "" 清除您的输入值
-
这能回答你的问题吗? Autocomplete off vs false?
-
@ShivanshuGupta 如果你阅读了这个问题,你会注意到我已经尝试过了
-
@Gerard 整个 html 页面没有引用
autocomplete属性。我什至尝试仍然设置input本身的autocomplete="off",以及它所属的form,它没有帮助,除非我做错了
标签: javascript html attributes protractor