我已经看到了使用量角器获取所有属性的解决方案:
Get all element attributes using protractor
但是我在Angular 6中使用了打字稿,但似乎无法通过上述方法对其进行扩展。
我正在做什么:
import {browser, by, element} from 'protractor';
element.prototype.getAttributes = function () {
return (function (node) {
let attrs = {};
for (let i = 0; i < node.length; i++) {
attrs[node.item(i).name] = node.item(i).value;
}
return attrs;
})(this.attributes);
};
我收到以下错误:
Unhandled rejection TypeError: Cannot set property 'getAttributes' of undefined
获取属性可以正常工作,但显示以下消息:
W/element - more than one element found for locator By(css selector, #id) - the first result will be used
我仍然想坚持导入而不是切换到模块需求。
如何解决此问题并使它适用于Typescript?
答案 0 :(得分:0)
在这里您可以看到有关您的问题及其解决方法的很好的解释。 https://stackoverflow.com/a/27824315/10413416
关于消息:
W/element - more than one element found for locator By(css selector, #id) - the first result will be used
似乎您的定位器正在使用第一个索引又找到了一个以上的元素,也就是找到的第一个元素。 您可以创建更多特定的定位器,以将找到的元素限制为1。