我正在自动化网络界面。一些框架基于Angular JS。 我试图在动态列中访问ng-repeat。
以下是我的DOM片段:
<div class="containCol__col column-animation col0" ng-repeat="column
in sbCtrl.SlideboardStore.columns track by`
sbCtrl.getUniqueColumnId(column)" column-id="emptydata" ng-class="
{'enabled': column.showNewCardInput, 'containCol__col__collapsed':
column.isCollapsed}" style="opacity: 1;">
所以在这里你可以看到ng-repeat是动态的,取决于列ID:
ng-repeat="column in sbCtrl.SlideboardStore.columns track
bysbCtrl.getUniqueColumnId(column)
以下是我在Selenium尝试做的事情:
WebDriverFactory.getDriver().findElement(ByAngular.withRootSelector("#application-container").exactRepeater());
现在我的问题是如何找到转发器的选择器,因为它是动态的,我想先选择列,但因为它不是一个我不知道的框架。处理这件事。
先谢谢
答案 0 :(得分:2)
大家好我刚刚找到答案,我已经从选择器中移除了动态部分,并通过Xpath选择了列,它就像魅力一样。
WebElement repeater = WebDriverFactory.getDriver().findElement(ByAngular.withRootSelector("#application-container").exactRepeater("column in sbCtrl.SlideboardStore.columns"));