gpt4 book ai didi

javascript - 如何使用 Protractor 清除 type=date 的输入

转载 作者:行者123 更新时间:2023-12-01 16:37:40 25 4
gpt4 key购买 nike

我正在使用 protractor 版本 4.0.4,并且当类型设置为日期时无法清除输入。看来 Chrome 正在添加一些有点干扰的特殊控件。

您可以在此处详细了解 Chrome 对日期类型的处理

https://developers.google.com/web/updates/2012/08/Quick-FAQs-on-input-type-date-in-Google-Chrome

GitHub 上也有对该问题的讨论,但似乎没有任何建议对我有用。

https://github.com/angular/protractor/issues/562

同时我尝试了下面的方法
1) element.clear()

这会导致错误提示“元素必须是用户可编辑的才能清除它”

2) element.sendKeys(protractor.Key.BACK_SPACE)

这似乎导致输入被选中(只是月份部分)而没有实际删除任何内容

那么有什么方法可以清除我缺少的 Protractor 的日期类型输入字段吗?

最佳答案

单独使用 element.sendKeys 发送日期在日期输入上是不可靠的。似乎在发送 key 之前先选择中心。因此,您还应该使用 LEFT 和 RIGHT 键定位光标。

设置日期 12/07/2016 :

var LEFT = Key.LEFT, RIGHT = Key.RIGHT, DELETE = Key.DELETE;

element.sendKeys(LEFT + LEFT + LEFT + "12072016")

并清除日期:

var LEFT = Key.LEFT, RIGHT = Key.RIGHT, DELETE = Key.DELETE;

element.sendKeys(LEFT + LEFT + LEFT + DELETE + RIGHT + DELETE + RIGHT + DELETE)

请注意,您可能需要根据日期的格式更改键的组合。

清除日期的另一种方法是使用一些 JavaScript,但请注意它不会模拟真实用户的行为:

browser.executeScript(function(elem) {
elem.value = '';
elem.dispatchEvent(new Event('change'));
}, element);

关于javascript - 如何使用 Protractor 清除 type=date 的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40092172/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com