【问题标题】:Programmatically input angularjs text field using javascript/VBA使用 javascript/VBA 以编程方式输入 angularjs 文本字段
【发布时间】:2019-02-19 20:28:22
【问题描述】:

我正在使用 Excel VBA 从 AngularJS 应用程序中抓取网页。我正在尝试使用类似 ie.Document.getElementsByTagName("button")(15).Value = "112233" 的方式在文本输入中输入值 我也试过-ie.Document.parentWindow.execScript "document.getElementsByTagName('button')[15].Value = '112233';

它们都不起作用。我搜索了一些其他已发布的问题,但问题仍然存在。元素是:

<input whole-number="" type="text" maxlength="20" class="......" ng-model="pList.pNumber" bs-typeahead="typeahead_ProjectNumber"  placeholder="enter a value" data-provide="typeahead" ng-change="reduceScrollMax()">

【问题讨论】:

  • 甚至尝试过 'angular.element(document.getElementsByTagName('button')[15]).scope().title = "112233"';其次是 'scope().apply();'

标签: javascript angularjs vba excel


【解决方案1】:

我得到了问题的解决方案:

angular.element(document.getElementByTagName('input')[15]).scope().pList.pNumber = '112233';

紧随其后 angular.element(document.getElementByTagName('input')[15]).scope().$apply(); 或angular.element(document.getElementByTagName('input')[15]).scope().$digest();

包含上面提到的ie.Document.parentWindow.execScript "..." 以使用 VBA 运行它。

【讨论】:

    猜你喜欢
    • 2017-03-01
    • 2010-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多