最近几周使用RF时,我注意到一个问题,这个问题困扰了我很长时间。我有不断的错误:
找不到带有定位器"XXX"的元素(当然这是一个模板(
对想要定位的跨度的调查显示,它下面有一些 JavaScript 代码,据我所知,它可以动态地启用它。
input bo-attr=" id="inventory-keyword" ng-attr-placeholder="{{('inventoryMode." + {true: 'KEYWORD_DEVICE_PLACEHOLDER', false: 'KEYWORD_TEMPLATE_PLACEHOLDER'}[items.currentSeen == VIEWS.装备]( |translate}}" ng-model="getCurrentFilters((.searchString" class="ng-pristine ng-valid" placeholder="Name, description...">
如何通过机器人框架?或者也许问题的根源不同?
还有其他类似的元素(sth appaers 是 JavaScript 在它下面(,除了主菜单之外,RF 看不到它们。
从您添加到 post 的Javascript
代码来看,底层 Web 应用程序似乎使用了AngularJS
(我可以在代码中看到ng-model
(。
有时,您无法使用Selenium提供的默认方式识别AngularJS
开发的网页中的元素。
您可以使用AngularJS
库或ExtendedSelenium2Library
,它们有新的方法来定位模型/绑定等元素。
查看以下链接以获取更多信息:
- AngularJSLibrary
- 扩展硒2库