量角器:如何从ElementFinder中获取Element对象

时间:2019-02-04 11:48:55

标签: angular protractor

我有一个像这样的elementFinder对象:

this.spinnerContainer = element(by.id('spinnerContainer'));

我想在浏览器中使用executeScript运行脚本,在这里我需要spinnerContainer。但是getComputedStyle需要一个Element对象,而不是ElementFinder。

browser.executeScript('return window.getComputedStyle(' + spinnerContainerElm + ', \':after\').content;').then((content) => {
   expect(content).to.eventually.equal('none').and.notify(callback);
});

如何在executeScript调用中重用我的spinnerContainer(来自ElementFinder类型)?

1 个答案:

答案 0 :(得分:1)

尝试一下:

browser.executeScript('return window.getComputedStyle(arguments[0], \':after\').content;',spinnerContainerElm).then((content) => {
   expect(content).to.eventually.equal('none').and.notify(callback);
});

executeScript函数需要两个参数,即要运行的脚本和该脚本的任何参数(在这种情况下为元素)See documentation

再次考虑这两个参数后,实际上可能不一定总是需要这两个参数,但是上述方法仍然可以为您服务。