不能遍历 wdio 返回的数组元素。 我希望能够将数组中的 eny 元素作为参数传递给未来的函数,然后单击符合条件的元素。
以下代码在控制台中显示此错误“无法使用选择器“ng-drop-panel”在元素上调用 $,因为找不到元素。
let element = $$('ng-select');
for await (const item of element[0].$('ng-dropdown-panel').$('div').$$('div')[1].$$('div')) {
if( await item.getText() == Field.CODE){
item.click();
break;
}
}
下面的代码工作正常,但我不想将元素作为参数传递下去,这样我就可以避免重复的代码行。
let element = $$('ng-select')[0];
for await (const itemof element.$('ng-dropdown-panel').$('div').$$('div')[1].$$('div')) {
if( await item.getText() == Field.CODE){
item.click();
break;
}
}
我已经试过了但是没用:
public async formFilling(){
let element = $$('ng-select');
await this.selectValueInDropDown(element[0].$('ng-dropdown-panel').$('div').$$('div')[1].$$('div'), "ADD");
}
public async selectValueInDropDown(dropDownSelector:any, dropDownValue: string){
for await (const item of dropDownSelector) {
if( await item.getText() == dropDownValue){
item.click();
break;
}
}
}
经过大量调试后,我注意到我没有单击下拉组件,因此内部 HTML 元素尚未呈现。因此,只需确保单击“ng-select”以显示要显示的选项。