无法按型号选择元素

时间:2015-05-26 13:25:32

标签: javascript selenium testing jasmine protractor

我需要按型号名称选择元素,但它不起作用,详情如下:

元素是:

textarea rows="8" ng-model="panel.information_text['comment']" >

我们的守则:

input_ele = element(by.model("panel.information_text[\'comment\']"));
console.log(input_ele.getText());

输出:

{ ptor_:
    { controlFlow: [Function],
    schedule: [Function],
    setFileDetector: [Function],
    getSession: [Function],
    getCapabilities: [Function],
    quit: [Function],
    actions: [Function],
    touchActions: [Function],
    executeScript: [Function],
    executeAsyncScript: [Function],
    call: [Function],
    wait: [Function],
    sleep: [Function],
    getWindowHandle: [Function],
    getAllWindowHandles: [Function],
    getPageSource: [Function],
    close: [Function],
    getCurrentUrl: [Function],
    getTitle: [Function],
    findElementInternal_: [Function],
    findDomElement_: [Function],
    findElementsInternal_: [Function],
    takeScreenshot: [Function],
    manage: [Function],
    switchTo: [Function],
    driver:
    }
}

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

您实际上已成功按位置找到元素。

您看到的内容是getText()返回的承诺。如果您想在控制台上看到实际文字,请通过then()明确解决承诺

input_ele.getText().then(function (text) {
    console.log(text);
});

请注意,如果您希望使用expect()断言元素的文本等于某事, expect()将隐式解决您的承诺,例如你可以写:

expect(input_ele.getText()).toEqual("Expected text");

另见: