无法在非角度页面上使用.getText()获取span元素的文本

时间:2016-02-05 08:32:32

标签: javascript jasmine protractor

我试图获取元素<span>的文本值,但它不会返回.getText()

的任何内容

`

//spec
var statPage = require('something');

describe('Start', function () {
    describe('Setup', function () {
        it('test quality', function(){
            new statPage().quality();
        });
    });
});


//page object
Sender.prototype.quality = function () {
    browser.ignoreSynchronization = true;
    this.verifyPageUrl();
    this.verifyTabName();
};

Sender.prototype.verifyTabName = function () {
    console.log("inside verifyTabName()");

    var EC = protractor.ExpectedConditions;
    var tab = element(by.css("span.active-tab-head"));

    browser.wait(EC.textToBePresentInElement(tab, 'u4uvpzn4'),     5000).then(function(){
        console.log('inside browser wait');
    });
    tab.getText().then(function(tabFullName) {
        console.log('tab name is : ' + tabFullName);
    });
};

Sender.prototype.verifyPageUrl = function () {
    browser.getCurrentUrl().then(function(text){
        console.log('this is the right page : ' + text);
    });
};

` enter image description here

enter image description here

3 个答案:

答案 0 :(得分:1)

您提供的代码看起来是正确的,我怀疑可能存在时间问题。让我们使用textToBePresentInElement Expected condition并等待u4uvpzn4文字出现在有效标签中:

var EC = protractor.ExpectedConditions;
var tab = element(by.css("span.active-tab-head"));

browser.wait(EC.textToBePresentInElement(tab, 'u4uvpzn4'), 5000);
tab.getText().then(function(tabFullName) {
    console.log('tab name is : ' + tabFullName);
});

答案 1 :(得分:0)

您可以尝试以下方式使代码更具动态性:

var tabName = element(by.css('.tab-head.active-tab-head'));

我能想到的唯一另一个问题是你可能没有任何标签设置为.active-tab-head,它会返回一个空字符串。

答案 2 :(得分:0)

奇怪的事情正在发生,因为量角器甚至没有认识browser.pause()但是,重新安装量角器修复了这些问题!