【问题标题】:Unable to click on button with span, is there a way in protractor?无法单击带有跨度的按钮,量角器有办法吗?
【发布时间】:2018-02-22 04:48:23
【问题描述】:

这是我的 Angular 2 应用程序的 HTML。我正在 Chrome 中执行我的测试。

<div _ngcontent-c0="" class="header-actions">
    <!---->
    <clr-dropdown _ngcontent-c0="" class="dropdown" style="position: static;">
        <button _ngcontent-c0="" class="nav-text dropdown-toggle" 
            clrdropdowntrigger="">
        <span _ngcontent-c0="">User Name</span>
        <!---->
        </button>
        <!---->
    </clr-dropdown>
</div>

我尝试了以下选项,但未能点击用户名

1.1    element(by.css('nav-text dropdown-toggle')).click();
1.2    element(by.css('.nav-text dropdown-toggle')).click();
1.3    element(by.css("//span[. = 'User Name']")).click();
1.4    element(by.xpath("//span[. = 'User Name']")).click();



2. var logUser = $("div.header-actions  clr-dropdown.dropdown button span"),
       EC = protractor.ExpectedConditions;
       browser.wait(EC.visibilityOf(logUser), 5000);
       logUser.click();

3. var elementToClick = element(by.css('.btn btn-lg btn-primary btn-block'));
 browser.wait(protractor.ExpectedConditions.elementToBeClickable(elementToClick)
 ,10000).then ( function () {elementToClick.click(); });

感谢任何帮助。

【问题讨论】:

  • 使用element(by.cssContainingText("span","User Name")).click()
  • 不幸的是,这也不起作用,并且每次登录时用户名都会不断变化在等待带有定位器的元素时 - 定位器:by.cssContainingText("span", "User Name") 失败:1) angularjs 主页待办事项列表登录到 caas 消息:错误:超时 - 在 jasmine.DEFAULT_TIMEOUT_INTERVAL 指定的超时内未调用异步回调。
  • 失败:1) angularjs 主页待办事项列表登录到 caas 消息:错误:超时 - 在 jasmine.DEFAULT_TIMEOUT_INTERVAL 指定的超时内未调用异步回调。堆栈:错误:超时 - 在 jasmine.DEFAULT_TIMEOUT_INTERVAL 指定的超时内未调用异步回调。在 ontimeout (timers.js:478:11) 在 tryOnTimeout (timers.js:302:5) 在 Timer.listOnTimeout (timers.js:262:5)
  • 消息:失败:等待异步 Angular 任务在 11 秒后完成超时。这可能是因为当前页面不是 Angular 应用程序。更多详情请查看常见问题解答:github.com/angular/protractor/blob/master/docs/…

标签: html button protractor


【解决方案1】:

我认为你的 CSS 选择器有问题。

试试这个,应该可以的。

element(by.css('div.header-actions > clr-dropdown.dropdown > button.nav-text')).click();

【讨论】:

  • 不走运,我仍然遇到同样的问题。
猜你喜欢
  • 2020-07-07
  • 2019-08-16
  • 2017-12-17
  • 1970-01-01
  • 1970-01-01
  • 2021-08-13
  • 1970-01-01
相关资源
最近更新 更多