Получение устаревших ссылок на элементы во время зацикливания - распространенная проблема
Первое замечание: вам следует избегать использования .then()
для управления обещаниями, если вы уже используете async/await
, это только усложняет задачу. read.
Во-вторых, я бы предостерег от отключения refre sh, если приложение работает не так, когда с ним будет взаимодействовать конечный пользователь.
Следующий ответ основан на предположении, что после обновления страницы те же элементы будут найдены element.all(by.css(Selectors.projectList));
. В этом ответе весь массив элементов перехватывается в течение каждого l oop, но в нем хранится значение индекса нужного ему элемента, поэтому l oop продолжается
let projectsList = await element.all(by.css(Selectors.projectList));
for(let loopCount = 0; loopCount < projectsList.length; loopCount++){
projectsList = await element.all(by.css(Selectors.projectList));
const item = projectsList[loopCount];
const itemText = await item.getText();
if (itemText.includes("50_projects_to_tests")) {
console.log(itemText )
item.clik()
}
}