获取带有Typescript的量角器的所有元素属性?

时间:2018-09-28 07:46:29

标签: javascript typescript selenium protractor

我已经看到了使用量角器获取所有属性的解决方案:

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?

1 个答案:

答案 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。