我有一个场景,通过点击哪个下拉列表打开一个元素。所以我必须逐个选择下拉列表的每个值。因此,选择一个值,然后关闭下拉列表,然后再次需要打开下拉列表并选择第二个值,依此类推,在每次选择后,我需要执行一些操作。
这是我试过的代码。
this.allZoomTimeValues.each((value)=>{
browser.driver.sleep(3000)
console.log("1")
value.getText().then(a=>{
console.log("2")
this.buttonCross.click().then(function(){
console.log("3")
browser.driver.sleep(3000).then(function(){
console.log("4")
browser.actions().mouseMove(this.canvas.get(0), {x: 10, y: 80}).click().perform();
})
});
});
});
所以它会抛出错误“失败:无法读取未定义的属性'画布'
我知道这是由于承诺但不确定如何逐个解决承诺。 这是显示的输出
1
1
1
1
1
1
1
1
1
1
2
3
4
F
所以这里返回所有10个值,并且为最后一个值解析所有其他promise。
所以,请帮助我如何选择下拉菜单的每个值
答案 0 :(得分:1)
这是因为它是一个承诺,循环将在之前运行所有值 在下一个线程中调用promise resolver handler。
试试这个:
myVal = Range("A1").Value