我一直在使用量角器時遇到一些麻煩。我有一個非常奇怪的UI路由器狀態,它很難脫離其他元素開始處理頁面。有沒有什麼辦法可以告訴量角器等到一個元素最終出現在DOM中?不可見/顯示,但實際創建?我一直試圖使用等待元素,但顯然不能被選中。量角器等待元素在DOM中
browser.driver.wait(function() {
return elem.isDisplayed();
});
我一直在使用量角器時遇到一些麻煩。我有一個非常奇怪的UI路由器狀態,它很難脫離其他元素開始處理頁面。有沒有什麼辦法可以告訴量角器等到一個元素最終出現在DOM中?不可見/顯示,但實際創建?我一直試圖使用等待元素,但顯然不能被選中。量角器等待元素在DOM中
browser.driver.wait(function() {
return elem.isDisplayed();
});
你應該能夠一起使用browser.wait
的presenceOf
ExpectedCondition:
var until = protractor.ExpectedConditions;
browser.wait(until.presenceOf(elem), 5000, 'Element taking too long to appear in the DOM');
量角器已包括ExpectedCondition顯式等待,讓您等待元素一段時間。你應該能夠做到以下幾點
var EC = protractor.ExpectedConditions;
browser.driver.wait(function() {
browser.wait(EC.visibilityOf(elem), 10000);
return elem;
});
browser.wait的第一個參數是一個函數,如果我們需要等待直到一個元素不管時間如何,那麼我們可以使用下面的代碼,如果您需要限制等待到特定時間,請給出時間作爲'browser.wait'的第二個參數
browser.wait(function() {
return element(by.css("#edudrop1")).isPresent()});
好主意,直到'!可讀性很重要。 – alecxe
這是隻能從量角器2.0? –
@ user2875134我不知道。 –