angular - 无法在 Angular 输入文本框中使用 Date 值发送键
问题描述
我正在尝试将日期发送到 Anuglar 应用程序的输入文本框。文本框只接受日期格式。我尝试将日期声明为 int 或 Date,然后在末尾添加一个空字符串,但它不起作用。.Click() 方法适用于该对象。
int enterdate = 01012016;
PageObjectsLocators.locate_Date_textfield(Iwebdriver).SendKeys(enterdate + "");
DateTime iDate;
iDate = DateAndTime.Today.AddDays(-1);
PageObjectsLocators.locate_Date_textfield(Iwebdriver).SendKeys(iDate + "");
在这两种情况下,我都得到ElementNotInteractableException
<input type="text" id="ev_dateofevent" ng-keypress="allowDigit($event);" placeholder="MM/dd/yyyy" class="form-control ng-pristine ng-valid ng-isolate-scope ng-empty ng-valid-maxlength ng-valid-date ng-touched" uib-datepicker-popup="MM/dd/yyyy" ng-model="fieldValueObj" is-open="isOpenCalendar" maxlength="10" ng-blur="datechange(field,id,datetitle);" close-text="Close" alt-input-formats="altInputFormats" ng-disabled="datereadonly" aria-invalid="false" style="">
解决方案
您可以尝试input
使用 Javascript 而不是SendKeys
. 这可以作为许多不接受传统 Selenium 交互的 JS 模块元素的解决方法。
var input = PageObjectsLocators.locate_Date_textfield(Iwebdriver);
Iwebdriver.executeScript("arguments[0].setAttribute('value', 'dateValueHere')", input);
使用 C# 而不是量角器示例更新:
// declare JS executor -- use your webdriver instance for driver
IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
var input = PageObjectsLocators.locate_Date_textfield(Iwebdriver);
js.ExecuteScript("arguments[0].setAttribute('value', 'dateValueHere')", input);
如果您不喜欢 JS 方法,可以尝试的另一种替代方法是在发送键之前单击元素以使其成为焦点。
int enterdate = 01012016;
// click the input field
PageObjectsLocators.locate_Date_textfield(Iwebdriver).Click();
// send keys to the field
PageObjectsLocators.locate_Date_textfield(Iwebdriver).SendKeys(enterdate + "");
推荐阅读
- sql - 如何将 CTE 编码更改为 INLINE 视图?甲骨文 SQL
- java - 骆驼 REST DSL 流文件
- python - 如何在 3D Numpy 数组中生成圆锥体
- spring-security - 如何从 ExceptionResolver 访问 ReactiveSecurityContextHolder?
- swift - 如何更新 Apple 地图中的路线 - iOS 13.0 中的 Xcode Swift 5?
- java - 如何在 java 中为每个请求使用 JSON Web Token (JWT)?
- python - 如果参数的结果满足条件,如何立即返回结果而无需重新声明参数
- swift - 如何为 PKPaymentButton 创建一个包装器
- sql - 如何初始化从 nextval 检索其值的变量
- html - 如何将模态窗口居中对齐