javascript - 无法使用 Protractor 选择组件按钮

标签 javascript angular typescript protractor

我无法使用任何定位器组件的“添加新”按钮进行选择。

这是 audience.po.ts 文件和方法“ClickAddNewBtn()”

  clickAddNewBtn() {
      console.log("Click on Add New button.");
      return element(by.css('nano-add-new-button')).click();
  }

“添加新按钮”组件是子(组件):

    <div class="nano-f-40 nano-f-r">
        <nano-add-new-button (click)="openModal('new')"
                             class="nano-bc-green hover-effect">
        </nano-add-new-button>
    </div>

这是“添加新按钮”组件的主体:

import { Component, Output, Input } from '@angular/core';

@Component({
    selector: 'nano-add-new-button',
    template: `
    <div class='nano-f-r nano-f add-new'>
        <i class='fa fa-plus'></i>
           <span class='nano-ml-5 add-new'>
                Add New
           </span>
    </div>`
})
export class NanoAddNewButtonComponent {
}

错误屏幕截图,在本例中尝试通过 xpath 选择按钮: enter image description here

知道如何选择这个按钮并点击他吗?

最佳答案

解决方案是通过“所有”定位器从“添加新跨度”中选择“nano-ml-5”类。

clickAddNewBtn() {
    return element.all(by.css('nano-ml-5'));;
}

关于javascript - 无法使用 Protractor 选择组件按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50326817/

相关文章:

javascript - 如何获取 iframe 响应 header ?

javascript - 从数据库中排序选择框选项

angular - 如何使用 Ionic Native Storage 存储数组数据?

javascript - 为什么 var 允许重复声明而 const 和 let 不允许重复声明?

javascript - 如何从终端运行 esnext 文件

javascript - 将依赖项注入(inject) Ember 模型

javascript - html5拖放不小心激活css :hover style

javascript - 一旦将 angular2 应用程序与 gulp 捆绑在一起,如何在 apache http 服务器上进行部署

angular - 绑定(bind) : Appending to href

typescript - React Native 扩展 NativeModules TypeScript 类型