使用javascript/VBA以编程方式输入angularjs文本字段
我正在使用Excel VBA从AngularJS应用程序抓取网页。我试图使用类似于-使用javascript/VBA以编程方式输入angularjs文本字段,javascript,angularjs,vba,excel,Javascript,Angularjs,Vba,Excel,我正在使用Excel VBA从AngularJS应用程序抓取网页。我试图使用类似于-ie.Document.getElementsByTagName(“按钮”)(15)的东西在文本输入中输入值。value=“112233” 我还尝试了--ie.Document.parentWindow.execScript“Document.getElementsByTagName('button')[15]。Value='112233'; 它们都不起作用。我已经搜索了一些其他发布的问题,但问题仍然存在。元素是
ie.Document.getElementsByTagName(“按钮”)(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.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运行它。我找到了问题的解决方案:
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运行它。甚至尝试了“angular.element(Document.getElementsByTagName('button')[15]).scope().title=“112233”;“甚至尝试过”angular.element(Document.getElementsByTagName('button')[15]).scope().title=“112233”"'; 后跟“scope().apply();”