我的页面上有一个按钮,如下所示:
<button ng-click="myFunction()" ng-show="flag">
Submit
</button>
该元素没有ID。
有没有办法使用绑定到Ng-Click的函数找到这个元素?或者我是否必须为此元素分配ID以使用Jasmine / Protractor定位它?
答案 0 :(得分:71)
刚试过这个并且它有效:
element(by.css('[ng-click="myFunction()"]'))
答案 1 :(得分:33)
我浏览了Protractor API并且没有找到与通过ng-click
查找元素相关的任何内容。我找到了
element(by.buttonText("Submit"));
不完全相同,但在我的环境中完成工作。
答案 2 :(得分:1)
如果您想使用ng-show
,可以试试这个:
element(by.Css("button[ng-show]")); // Get element with tag < button > and has ng-show attribute
或:
element(by.Css("button[ng-show*=flag]")); // Get element with tag < button > and has ng-show attribute which contains word flag
答案 3 :(得分:0)
我不是要添加一个我不想提供测试挂钩的ID,而是将type="submit"
添加到该按钮,然后您可以搜索By.css('[type="submit"]')