无法使用.Sendkeys在Angular输入文本框中输入日期值

问题描述 投票:0回答:1

我正在尝试将日期发送到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="">
angular selenium protractor nunit sendkeys
1个回答
0
投票

您可以尝试使用Javascript而不是input来设置SendKeys值。对于许多不接受传统Selenium交互的JS模块元素,这可以作为一种解决方法。

var input = PageObjectsLocators.locate_Date_textfield(Iwebdriver);
Iwebdriver.executeScript("arguments[0].setAttribute('value', 'dateValueHere')", input);
© www.soinside.com 2019 - 2024. All rights reserved.