定位器基礎知識

定位器本身不返回可在 Protractor 中與之互動的元素,它們只是指示 Protractor 如何找到元素的指令。

要訪問元素本身,請使用以下語法:

element(locator);
element.all(locator);

注意:在對元素執行操作之前,實際上不會訪問元素 - 也就是說,在元素上呼叫諸如 getText() 之類的操作時,Protractor 實際上只會檢索元素。

如果要使用定位器僅選擇一個元素,請使用 element。如果你的定位器指向多個元素,element 將返回找到的第一個元素。element 返回 ElementFinder

如果要使用定位器選擇多個元素,element.all 將返回找到的所有元素。element.all 返回一個 ElementArrayFinder,並且可以使用不同的方法訪問陣列中的每個元素 - 例如,map 函式。

element.all(locator).map(function(singleElement) {
        return singleElement.getText();
    }
});

連結定位器

你可以連結多個定位器以選擇複雜應用程式中的元素。你不能直接連結 locator 物件,你必須鏈 ElementFinders

element(by.repeater('movie in movies').element(by.linkText('Watch Frozen on Netflix')

你可以使用的鏈數沒有限制; 最後,你仍會收到一個 ElementFinderElementArrayFinder,具體取決於你的定位器。