【问题标题】:Protractor No element found using locator: by.buttonText量角器使用定位器找不到元素:by.buttonText
【发布时间】:2017-04-05 11:36:52
【问题描述】:

使用量角器运行简单的结束测试,加载页面,单击按钮并在单击按钮后导航到下一页,但出现以下错误 使用定位器找不到元素:by.buttonText(注册为买家) 这是按钮后面的 HTML

<a href="/register/buyer" class="btn" data-ss1491391037="1">
                    Register as a Buyer</a>

还有我量角器文件中的 sn-p

element(by.buttonText("Register as a Buyer")).click();

不确定我在这里缺少什么或应该改变什么,我是 Protractor 的新手。 我能够使用不同的按钮获得与上面类似的东西,除了该按钮在 HTML 代码中分配了一个值,而上面没有。

感谢您的帮助

【问题讨论】:

  • 请稍等并尝试element(by.xpath("//a[contains(text(), 'Register as a Buyer')]")).click();
  • 谢谢一百万,可行
  • 以上内容对我有用,但对于 Protractor 新手发布答案可能会有所帮助
  • 是什么意思?我没有得到你
  • 这是一个链接,而不是一个按钮。所以你不能使用 buttonText...

标签: angularjs jasmine protractor


【解决方案1】:

像按钮一样,量角器也有特殊的方法来根据它们的文本来识别锚标记。尝试使用by.linkText()by.partialLinkText()

【讨论】:

    【解决方案2】:

    您尝试点击的元素不是button,而是一个链接。因此,by.buttonText 将不起作用...您可以使用以下方法之一:

    element(by.cssContainingText('.btn', 'Register as a Buyer')).click();
    

    或者如果您只有一个.btn 链接:

    $('.btn').click();
    

    或者您可能有很多按钮但想点击第一个:

    $$('.btn').first().click();
    

    【讨论】:

      猜你喜欢
      • 2016-01-22
      • 1970-01-01
      • 2014-06-09
      • 2016-01-04
      • 1970-01-01
      • 2019-04-29
      • 2016-05-06
      • 2015-11-03
      相关资源
      最近更新 更多