2016-07-26 34 views
1

我试图用量角器来选择这个按钮:如何使用量角器点击此元素按钮?

<button tabindex="-1" type="button" class="btn btn-default pull-left" ng-click="$arrowAction(-1, 0)"> 

<i class="glyphicon glyphicon-chevron-up"> 
</i> 

</button> 

在这唯一的独特元素是ng-click="$arrowAction(-1, 0)"

没有什么我已经试过作品:

element(by.css("//button[@ng-click='$arrowAction(-1, 0)']")).click(); 
+0

您是否尝试过为该元素添加自己的自定义CSS?此外,它看起来像你使用'by.css',但指定和'xpath'。 – Pureferret

回答

3

//button[@ng-click='$arrowAction(-1, 0)']不是有效的CSS选择器。它实际上看起来像这是一个XPath表达式,并且您打算使用by.xpath()定位器。

您可以使用,虽然部分属性检查代替:

$("button[ng-click*=arrowAction]").click(); 

$这里是一个捷径element(by.css(...))*=意味着 “包含”。

或者,做一个精确匹配:

$("button[ng-click='$arrowAction(-1, 0)']").click(); 

我还是不喜欢鉴于我们在这种情况下使用的定位技术,但是,它可能是我们能做到的最好。理想情况下,如果您可以控制应用程序代码和模板,请添加有意义的id,class或自定义数据属性以唯一标识该元素。

+0

它的工作原理,但我得到了一个警告,因为有4个按钮“arrowAction”。如果我使用$(“button [ng-click * = $ arrowAction(-1,0)]”)。而是我得到无效的选择器。 – jmd1002

+0

@ jmd1002好的,你可以发布所有这4个按钮的HTML表示吗?想看到不同之处。谢谢。 – alecxe

+0

............... 。唯一的区别是(-1,1) – jmd1002

相关问题