2017-01-22 50 views
1

我有一個問題,另外還有一個輸入字段,我不知道如何使用定位器。在它的代碼是使用哪種定位爲這段代碼是輸入字段

'<input _ngcontent-tvt-19="" class="form-control ng-pristine ng-valid ng-touched" placeholder="You can search keywords" type="text"> 

我想,以填補與使用規範文件中的代碼值這個字段作爲

'element(by.binding('You can search keywords ')).sendKeys("04"); 

但它不工作。我也嘗試過使用cssContainingText,但它不起作用。你有關於定位器的任何想法,或者我如何改變代碼行。

+0

你還可以發佈這個元素的父元素? (理想情況是HTML越好越好)可能有更好的方法。 – alecxe

+0

您有權限更改元素嗎?如果是這樣,像別人說的那樣添加ID是一個可靠的選擇。如果不是,仍然有辦法做到這一點。 –

回答

1

您可以通過使用XPath,使用如下它將工作

element(by.xpath(「//輸入[@ placeholder ='您可以搜索關鍵字']」));

+0

非常感謝,它的工作 – Zed

+0

很高興聽到,罰款: ) – Parthi

1

最簡單的解決方案將是一個ID或類添加到您的輸入字段,然後使用:

element(by.Id(<id>)) 

或:

element(by.css(<class_name>)) 
+0

謝謝;我認爲添加一個「ID」更好 – Zed

1

這裏有幾個例子:

$('input[placeholder="You can search keywords"]') 

$('input[_ngcontent-tvt-19]') 
+0

上面代碼中的定位器是什麼,我猜它是不完整的。 – Zed

+0

完成。兩個定位器都會返回您的輸入字段。結帳的快捷方式定位器https://github.com/angular/protractor/blob/master/docs/locators.md – finspin

+0

謝謝, 我加了,但它沒有工作 – Zed