用量角器获取具有特定属性值的span子元素

Get child element of span with certain attribute value with protractor

本文关键字:span 元素 属性 获取 量角器      更新时间:2023-09-26

如果弹出窗口,我想用量角器测试一下。这是我的html。弹出窗口位于最后一个子span中:

<span tariff-popover="views/popovers/c2g/airport.html" class="ng-isolate-scope">
    <span ng-transclude="">
        <span class="ng-scope">
           Flughafenpauschale
         </span>
     </span>
        &nbsp;
     <span popover-placement="right" popover-template="text" popover-trigger="mouseenter" class="fa fa-info-circle">
     </span>
</span>

如何选择最后一个span?我需要根据父span上的tariff-popover的值来选择它。我是这样选择它的:

it('should display the popover-content on mouseover', function() {
  var popover = element(by.css('span[tariff-popover=views/popovers/c2g/airport.html] > .fa.fa-info-circle'));
  console.log(popover.getInnerHtml());
  /* more tests here */
});

console.log给我错误的css选择器是错误的。有什么建议吗?

应该在关税弹出窗口值周围加上引号。试试这个-

var popover = element(by.css('span[tariff-popover="views/popovers/c2g/airport.html"] > .fa.fa-info-circle'));

并且.getInnerHtml()将返回一个promise。所以,你需要等待它返回一个值。-

popover.getInnerHtml().then(function(val){
    console.log(val);
});