Typescript. В массиве первым выбирается значение 0
Пишу код для выбора элемента выпадающего списка по локатору с использованием Playwright. Для этого задаю массив элементов, которые содержатся в нем:
const arr = ["Да", "Нет", "Наверное"];
Далее в цикле выполняю следующие действия:
- Нажимаю на выпадающий список
- Нажимаю на элемент
- Проверяю что значение в выпадающем списке соответствует тому, что было выбрано в п.2
for (const element1 in arr) {
//Здесь клик на локатор xpath по типу //div[text()='${element1}']
}
Проблема в том что при запуске теста Playwright почему то ищет локатор //div[text()='0']
Ответы (1 шт):
Автор решения: Швеев Алексей
→ Ссылка
Дело в том, что массивы в javascript (и в частности в typescript) являются объектами. Т. е.
arr = ["a", "b", "c"]
эквивалентно
arr = {
0: "a",
1: "b",
2: "c"
}
key in object проходит по всем ключам объекта. Если же вам надо пройтись по значениям, то можно использовать of:
for (let i in arr) {} // i принимает [0, 1, 2]
for (let v of arr) {} // i принимает ["a", "b", "c"]