gpt4 book ai didi

selenium - 在 webdriver.WebElement 上的 findElements 之后调用 findElement 时出错(使用 Protractor、JS)

转载 作者:行者123 更新时间:2023-12-03 00:46:20 25 4
gpt4 key购买 nike

我正在使用 Protractor(Angular JS 的 webdriver 包装器),尽管我可以无限期地将 findElement 链接到单个 WebElement 实例,但当我尝试时会收到错误使用 findElements(复数)后链接 findElement

错误 (底部给出的堆栈跟踪):

TypeError: Object [object Object] has no method 'findElement'

链接 findElement:

var elementPromise = browser.findElement(by.css('body')).findElement(by.css('ul')).findElement(by.css('li'));
elementPromise.findElement(by.css('.icon-meter')); // does not raise error

在 findElements 之后使用 findElement:

var arrayPromise = browser.findElement(by.css('ul')).findElements(by.css('li'));
elementPromise = arrayPromise.then(function(elems) {
return elems[0];
});
elementPromise.findElement(by.css('.icon-meter')); // => raises error

带有跟踪的错误消息

TypeError: Object [object Object] has no method 'findElement'
at repl:1:16
at /home/markham/src/dataraptor-rails4/spec/node_modules/elementexplorer-convenience.js:83:19
at webdriver.promise.ControlFlow.runInNewFrame_ (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:1598:20)
at webdriver.promise.ControlFlow.runEventLoop_ (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:1463:8)
at wrapper [as _onTimeout] (timers.js:252:14)
at Timer.listOnTimeout [as ontimeout] (timers.js:110:15)

最佳答案

我在 Protractor 0.24 版本上遇到了同样的问题。

作为解决方法,我已将所有 findElement() 调用替换为 element() 并将所有 findElements() 替换为 >all().

链接元素:

var elementPromise = browser.element(by.css('body')).element(by.css('ul')).element(by.css('li'));
elementPromise.element(by.css('.icon-meter'));

在 findElements 之后使用 findElement:

var arrayPromise = browser.element(by.css('ul')).all(by.css('li'));
elementPromise = arrayPromise.then(function(elems) {
return elems[0];
});
elementPromise.element(by.css('.icon-meter'));

有关此版本的更多详细信息,请参阅 g+ post

关于selenium - 在 webdriver.WebElement 上的 findElements 之后调用 findElement 时出错(使用 Protractor、JS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24087470/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com