Typescript 如何使用量角器选择下拉列表的所有值
我有一个场景,其中有一个元素,单击打开的下拉列表。所以我必须逐个选择下拉列表中的每个值。所以选择一个值,然后关闭下拉列表,然后再次打开下拉列表,选择第二个值,依此类推,每次选择后,我需要执行一些操作 这是我试过的一个代码Typescript 如何使用量角器选择下拉列表的所有值,typescript,promise,protractor,Typescript,Promise,Protractor,我有一个场景,其中有一个元素,单击打开的下拉列表。所以我必须逐个选择下拉列表中的每个值。所以选择一个值,然后关闭下拉列表,然后再次打开下拉列表,选择第二个值,依此类推,每次选择后,我需要执行一些操作 这是我试过的一个代码 this.allZoomTimeValues.each((value)=>{ browser.driver.sleep(3000) console.log("1")
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();
})
});
});
});
因此它抛出错误“失败:无法读取未定义的属性“canvas”
我知道这是由于承诺,但不知道如何解决承诺的一个又一个的代码。
这是显示的输出
1
1
1
1
1
1
1
1
1
1
2
3
4
F
所以这里所有的10个值都被返回,最后一个值所有其他的承诺都被解决了
因此,请帮助我选择下拉列表中的每个值,因为这是一个承诺,循环将在 在下一个线程中调用承诺解析程序处理程序 试试这个:
a(0);
功能a(索引){
让value=this.allZoomTimeValues[index];
如果(!value){return;}
浏览器.驱动程序.睡眠(3000)
value.getText().then(a=>{
this.buttonCross.click(),然后(function()){
browser.driver.sleep(3000).then(function(){
browser.actions().mouseMove(this.canvas.get(0),{x:10,y:80});
a(++指数);
})
});
});
}
谢谢!非常感谢……:)