javascript - 无法按模型选择元素

标签 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:
    }
}

如有任何帮助,我们将不胜感激。

最佳答案

您实际上已经成功地通过模型找到了元素。

您看到打印的内容是 getText() 返回的 promise 。如果您想在控制台上看到实际文本,请通过 then() 显式解决 promise :

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

请注意,如果您想使用 expect()断言元素的文本等于某些内容, expect()会隐式地为你解决 promise ,例如你可以写:

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

另请参阅:

关于javascript - 无法按模型选择元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30459917/

相关文章:

python - 在 Python 中打印 selenium 网络元素的 HTML 文本

java - 如何通过使用 Android 移动设备 selenium 向下滚动将所有 contentNames 添加到列表中?

javascript - javascript中的同源策略在哪里实现?

javascript - jQuery 在新行中附加文本

javascript - 正则表达式替换破折号之间的所有内容,包括新行?

python - 在 python 中初始化 MSEdge 浏览器,得到 TypeError : Level not an integer or a valid string: None

java - 为什么要对相关测试进行分组

ruby - 使用大括号的单行 shoulda 语法

testing - 使用 Junit/Test NG 在 Selenium 中以编程方式(不使用 ANT)创建测试报告

javascript - .prototype 在 JavaScript 中如何工作?