gpt4 book ai didi

angularjs - Protractor - 选择当前元素的下一个兄弟

转载 作者:行者123 更新时间:2023-12-04 23:21:23 24 4
gpt4 key购买 nike

在我的代码中有一个使用“protractor.By.repeater”选择的元素列表(tr)。
该列表使用“forEach”循环。

在这个循环中,元素被点击,这个点击应该在被点击的元素之后触发包含一个新的“tr”。

我想选择那条新线。

我用了 :

var nextRow = tr.$(protractor.By.xpath('following-sibling::tr'));

但随后:
                nextRow.isDisplayed(function(row){
console.log('row', row);
});

它会生成错误,例如:“UnknownError:java.util.HashMap 无法转换为 java.lang.String”

有没有另一种方法来实现我想要的,即选择当前元素的下一个兄弟?

或者我在那里写了不正确的东西?

谢谢你的帮助!

最佳答案

看起来您缺少一个 .then那里并误解了什么 isDisplayed做。

代码应该更像:

nextRow.isDisplayed().then(function(visible) {
console.log('is displayed? ', visible);
});

还有您的 ElementFinder nextRow看起来不太好,什么是变量 tr以下?和 Protractor $element(by.css 的别名在您的代码中,它采用字符串参数,而不是像您在下面解释的 webdriver.Locator :
var nextRow = tr.$(protractor.By.xpath('following-sibling::tr'));

所以也许你的意思是:
var tr = $('table tr.first'); // just guessing here since you didn't provide that code
var nextRow = tr.element(By.xpath('following-sibling::tr'));

关于angularjs - Protractor - 选择当前元素的下一个兄弟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25390171/

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