2016-11-17 53 views
0

在我們的角度應用納克單擊有語言圖標更改語言:選擇中的一個元素量角器

<img style="cursor: pointer; margin-right: 5px; float: left;" height="25px" 
src="assets/images/english.jpg" ng-click="setLang('en')" class=""> 

我怎麼可以點擊與量角器這個圖標?基於其他問題,這應該是這樣的:

element(by.css('[ng-click="setLang('en')"]')).click(); 

但是這個拋出一個語法錯誤,因爲'en'部分。 所以我也嘗試了這些:

element(by.css('[ng-click="setLang(en)"]')).click(); 
element(by.css('[ng-click="setLang()"]')).click(); 

但是這兩個導致:沒有使用元素定位

請告知我怎麼可以點擊這個元素的發現?

+2

Escape quotes''[ng-click =「setLang(\'en \')」]'' – Satpal

+0

感謝它的工作! –

+0

重新在頁面對象中使用它你可能會做變量 'var lenguage ='en''和在代碼中使用 'element(by.css('[ng-click =「setLang('en')」] '))。click();' – Hikaryu

回答

1

您需要轉義引號。

element(by.css('[ng-click="setLang(\'en\')"]')).click(); 
2

當逃脫的報價可能會解決眼前的問題,但你應該知道,部分屬性檢查也是一種選擇:

element(by.css('[ng-click*=setLang]')).click(); 
$('[ng-click*=setLang]').click(); 

其中*=意味着「包含」,$是一條捷徑。

+0

非常感謝您的輸入!你的解決方案確實也有效。 '$('[ng-click * = en]')。click();' 對我來說是正確的方法,因爲有多個setLang按鈕,否則我需要使用element.all –

相關問題