element.all(By.id(psearchResult.ptpID, psearchResult.mueResCardHeader))
.filter((mueElementColClick, index) => {
return mueElementColClick.getText().then((mueElementColClickText) => {
mueElementColClickText = stestDataResultsets.expectedPTPHeader[index];
console.log('mueElementColClickText '+mueElementColClickText);
browser.waitForAngular();
return mueElementColClickText;
});
}).click();
页面上有3行文字,每个链接都可以点击以展开下面的文字。上面的代码将单击前两行文本并将它们展开 - 但是当涉及第三行时,当它尝试单击它时,它表示它不可单击。
答案 0 :(得分:0)
该行应该做什么:
mueElementColClickText = stestDataResultsets.expectedPTPHeader[index];
?
mueElementColClickText
是已定义的变量。你正试图为它设定新的价值,不是吗?
也许您希望将mueElementColClickText
与stestDataResultsets.expectedPTPHeader[index];
进行比较?
另一件事:filter
会返回ElementArrayFinder
[请参阅文档:http://www.protractortest.org/#/api?view=ElementArrayFinder.prototype.filter]
在最后一行,您应该将.click();
更改为.first().click();
答案 1 :(得分:0)
mueElementColClickText未定义 - 但用于从promise中获取值。
我没有看到比较中的值,因为我为它赋值,所以它们应该相等。
。。首先()点击(); - 正如我所说,页面上有3个链接 - 如果我这样做.first()。click(); - 始终点击第一个链接。
感谢您的回复 - 我可以在点击之前检查它是否可点击?
答案 2 :(得分:0)
我认为可能会发生什么:
我将3个链接点击进入element.all数组。
然后,我只需点击一下即可花费所有3个链接。
因此,单击第一个链接,在其下面打开20行表格。此时浏览器正试图找到第二个链接点击但不能 - 其他人有这个问题或如何解决? THKS