Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 量角器:如何从ElementFinder获取元素对象_Angular_Protractor - Fatal编程技术网

Angular 量角器:如何从ElementFinder获取元素对象

Angular 量角器:如何从ElementFinder获取元素对象,angular,protractor,Angular,Protractor,我有一个elementFinder对象,如下所示: this.spinnerContainer = element(by.id('spinnerContainer')); 我想用executeScript在浏览器中运行一个脚本,我需要spinnerContainer。但是getComputedStyle需要一个Element对象,而不是ElementFinder browser.executeScript('return window.getComputedStyle(' + spinnerC

我有一个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(来自type ElementFinder)?

尝试以下方法:

browser.executeScript('return window.getComputedStyle(arguments[0], \':after\').content;',spinnerContainerElm).then((content) => {
   expect(content).to.eventually.equal('none').and.notify(callback);
});
executeScript函数需要两个参数,即要运行的脚本和该脚本的任何参数(本例中为元素)


再次考虑这一点后,实际上可能并不总是需要这两个参数,但上述方法仍然适用于您。

仅为澄清起见,SpinnerContainereRM=spinnerContainer。不需要在Element和ElementFinder之间进行转换