【发布时间】:2015-04-10 00:53:36
【问题描述】:
我想将元素的文本值打印到控制台以进行调试。我有:
var result = element(by.model('vm.firstName')).getAttribute('value');
console.log('first name is: ' + result.getInnerHtml() + result.getOuterHtml() + result.getText() + "" + result.getId() + Object.keys(result));
expect(result).toBe('Colin');
期望通过了。日志没有按我的意愿给我“Colin”:
名字是:[object Object][object Object][object Object][object Object]ptor_,parentElementArrayFinder,then,elementArrayFinder_,click,sendKeys,getTagName,getCssValue,getAttribute,getText,getSize,getLocation,isEnabled,isSelected ,提交,清除,isDisplayed,getOuterHtml,getInnerHtml,getId,getRawId
我怎样才能显示名称而不是 [object Object]?
【问题讨论】:
-
您是否尝试过仅记录结果对象,仅此而已,大多数现代浏览器会将其识别为对象,并允许您在日志窗口中探索该对象。
-
@Delta - 是的,抱歉,这不是问题所在。我试过了,得到
[object Object] -
看起来 getAttribute('value') 将返回一个字符串,然后您正在调用。字符串文字上的 result.getInnerHtml()。但这与您的 [object object] 结果不一致。
标签: angularjs protractor