【问题标题】:Unable to trigger angular ng-change function, when dropdown is automated in Selenium在 Selenium 中自动下拉时,无法触发角度 ng-change 功能
【发布时间】:2019-11-03 12:17:49
【问题描述】:
<select class="form-control ng-pristine" ng-model="conf.pinnedOriginalTransaction.net" name="categoryId" style="width:90%;" ng-options="key as value for (key, value) in categoryIdList" ng-change="validateForAction()" required="">..

我遇到过这样一种情况,在我的表单中,当仅从下拉列表中选择某个值时,我需要单击的按钮被启用。 手动完成时可以正常工作,但是当 Select webelement 自动完成时,尽管选择了所需的值,但不会触发启用按钮的 angular js 函数。

根据我对此的研究,我设法编写代码来手动触发函数 JS ScriptExecutor,但仍然得到空指针异常。自动化代码如下。

Select dropdown = new Select(webelement);
                log.info(webelement);
                dropdown.selectByVisibleText(sValue);
                js.executeScript("arguments[0].validateForAction(true);",webelement);

【问题讨论】:

    标签: javascript html angularjs selenium dom-events


    【解决方案1】:

    首先,您需要确保所有pendingRequests 都已完成。

    你可以使用这个 JS:

    var injector = window.angular.element('body').injector();
    var $http = injector.get('$http');
    return ($http.pendingRequests.length === 0);
    

    希望对您有所帮助!

    【讨论】:

      猜你喜欢
      • 2021-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-22
      • 2014-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多