簡體   English   中英

量角器executeScript與ElementArrayFinder的怪異

[英]protractor executeScript weirdness with ElementArrayFinder

我在我的Page對象中聲明了這一點:

this.paginationPageNumberList = element.all(by.repeater("page in pages track by $index"));

在Page Object的函數中運行此函數,成功執行並輸出“ no wrap”:

browser.executeScript('window.scrollTo(254,1600);');
this.paginationPageNumberList.get(0).then(function() {
    console.log("no wrap");
});

運行相同的東西,除了使用then()之外,這會給我一個錯誤:

browser.executeScript('window.scrollTo(254,1600);').then(function () {
    this.paginationPageNumberList.get(0).then(function() {
        console.log("wrap");
    });
});

失敗:無法調用未定義的方法“ get”。

為什么?

恐怕this在這種情況下是不是指頁面對象

相反,請創建一個單獨的變量:

var paginationPageNumberList = element.all(by.repeater("page in pages track by $index"));
this.paginationPageNumberList = paginationPageNumberList;

browser.executeScript('window.scrollTo(254,1600);').then(function () {
    paginationPageNumberList.get(0).then(function() {
        console.log("wrap");
    });
});

暫無
暫無

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

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