簡體   English   中英

量角器 - 失敗:陳舊元素引用:元素未附加到頁面文檔

[英]Protractor - Failed: stale element reference: element is not attached to the page document

我的量角器e2e頁面對象中有一個函數,它從下拉菜單中取消選中幾個選項。 它以前工作正常,但現在我收到以下錯誤:

失敗:陳舊元素引用:元素未附加到頁面文檔

我已嘗試在for循環的每次迭代中獲取元素,但for循環在第一次解析promise之前執行,這意味着x的“limit”值重復傳遞,測試只是單擊相同的下拉列表選擇幾次。

this.uncheckColumns = function(limit) {
    element(by.className('fa-cog')).click();
    element.all(by.className('multiSelectLi')).then(function(options) {
        for (x = 1; x < limit; x++) {
            options[x].click();
        };
    });
};

如何使用each(element, index)

element.all(by.className('multiSelectLi')).each(function(option, index) {
    if (index < limit) {
        option.click();
    }
});

或者,與filter(element, index)結合使用:

element.all(by.className('multiSelectLi')).filter(function(option, index) {
    return index < limit;
}).each(function(option) {
    option.click();
});

此外,一個解決問題的天真方法element.all()在循環中連續調用element.all() ):

for (var index = 0; index < limit; index++) {
    var option = element.all(by.className('multiSelectLi')).get(index);
    option.click();
};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM