Angularjs 使用Selenium更改角度页面

Angularjs 使用Selenium更改角度页面,angularjs,selenium,selenium-webdriver,webdriver,Angularjs,Selenium,Selenium Webdriver,Webdriver,我有两个输入,如下所示: 1st <input type="text" class="form-control ng-isolate-scope ng-valid-date ng-animate ng-dirty ng-valid ng-valid-required" name="measurementDate" id= "measurementDate" placeholder="MM/DD" datepicker-popup="MM/dd" min="01/01/2014" max="

我有两个输入,如下所示:

1st

<input type="text" class="form-control ng-isolate-scope ng-valid-date ng-animate ng-dirty ng-valid ng-valid-required" name="measurementDate" id=
"measurementDate" placeholder="MM/DD" datepicker-popup="MM/dd" min="01/01/2014" max="12/31/2016" datepicker-options="{&quot;showWeeks&quot;:false,&quot;yearRange&quot;:3}" ng-model="acawiz.data.standardPeriodStart" ng-change="acawiz.setStandardStabilityPeriodStart()" is-open="acawiz.measurementPickerIsOpen" style="">

但是,当我单击“完成向导”时,我看不到我对日期所做的更改,可能的原因是因为
ng change=“acawiz.standardStabilityPeriodStartChanged()”
从未触发过。有没有一种方法可以使用上面的javascript代码相应地触发ng更改?

当您以编程方式更改模型时(就像您正在做的那样),则不会触发
ng更改事件。我认为您必须手动调用更改事件

string value = Convert.ToDateTime(date).ToString("MM/dd");
string setValueProp = @"$('#measurementDate').val('" + value + "').trigger('change');";
ExecuteJavaScript(setValueProp);
string value = Convert.ToDateTime(date).ToString("MM/dd");
string setValueProp = @"document.getElementById('measurementDate').value = '" + value + "'";
ExecuteJavaScript(setValueProp);
string value = Convert.ToDateTime(date).ToString("MM/dd");
string setValueProp = @"$('#measurementDate').val('" + value + "').trigger('change');";
ExecuteJavaScript(setValueProp);