我需要通过模型名称选择一个元素,但它不起作用,详细信息如下:
该元素是:
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/