【问题标题】:accessing a Dynamic ng-repeat using selenium and ngWebDriver使用 selenium 和 ngWebDriver 访问动态 ng-repeat
【发布时间】:2018-03-26 20:34:35
【问题描述】:

我正在自动化 Web 界面。一些框架基于 Angular JS。 我正在尝试访问动态列中的 ng-repeat。

这是我的 DOM 的 sn-p :

 <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 是动态的并且依赖于 Column ID:

ng-repeat="column in sbCtrl.SlideboardStore.columns track 
bysbCtrl.getUniqueColumnId(column)

这是我在 Selenium 中尝试做的事情:

WebDriverFactory.getDriver().findElement(ByAngular.withRootSelector("#application-container").exactRepeater());

现在我的问题是如何找到转发器的选择器,因为它是动态的,我想先选择列,但由于它不是框架,我不知道如何处理这个问题。

提前致谢

【问题讨论】:

    标签: javascript java angularjs selenium-webdriver


    【解决方案1】:

    大家好,刚刚找到答案,我已经从选择器中删除了动态部分,并通过 Xpath 选择了列,它就像一个魅力。

    WebElement repeater = WebDriverFactory.getDriver().findElement(ByAngular.withRootSelector("#application-container").exactRepeater("column in sbCtrl.SlideboardStore.columns"));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-11
      • 1970-01-01
      • 1970-01-01
      • 2018-12-15
      • 1970-01-01
      • 2013-02-24
      • 2013-01-26
      • 2019-01-22
      相关资源
      最近更新 更多