我无法在角度2应用中使用量角器识别元素

时间:2017-05-17 05:12:41

标签: angular protractor

这是我的角色2应用程序的html。我正在执行chrome中的测试



<md-card-title _ngcontent-c10="" class="ra-card-title mat-card-title">
  <a _ngcontent-c10="">Massachusetts Division of Banks Issues Decision Establishing Limit on Maximum Allowable Fee for Dishonored Checks for State - Chartered Financial Institutions</a>
</md-card-title>
<div _ngcontent-c10="" class="ra-card-header__footer">
  <md-card-subtitle _ngcontent-c10="" class="ra-card-code mat-card-subtitle">BLN3594</md-card-subtitle>

  <div _ngcontent-c10="" class="ra-card-menu">
    <span _ngcontent-c10="" aria-haspopup="true" class="ra-card-menu-button">...</span>
    <md-menu _ngcontent-c10="" role="menu" xposition="before" yposition="below">
      <!---->
    </md-menu>
  </div>
</div>

<md-card-subtitle _ngcontent-c10="" class="ra-card-code mat-card-subtitle">BLN3594</md-card-subtitle>
&#13;
&#13;
&#13;

我无法使用

点击菜单按钮
element(by.xpath("//span[@class='ra-card-menu-button'])[0]")).click();

但如果我使用下面的javascript执行器,它工作正常。

&#13;
&#13;
var scrpt = "return document.getElementsByClassName('ra-card-menu-button')[0].click();";
browser.executeScript(scrpt).then(function(text) {
  logger.log('info', 'Script is: ' + scrpt);

});
&#13;
&#13;
&#13;

量角器版本是5.1.1。

有人可以帮我确定问题吗

3 个答案:

答案 0 :(得分:0)

我认为它应该是这样的(没有额外的右括号,数字指向第一个元素):

element(by.xpath("//span[@class='ra-card-menu-button'][1]")).click();

答案 1 :(得分:0)

这应该是什么element(by.css('.ra-card-menu-button')).click();

注意.以识别class。您甚至可以使用量角器的速记表示法,这会使代码看起来像$(.ra-card-menu-button').click();,另请参阅thisthis

答案 2 :(得分:0)

我能够使用webdriver命令解决此问题

然而要确定为什么我的页面说它不是有角度的页面,尽管它是以角度2发展的