2016-07-26 86 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