@FastSpace подскажи, это какую функцию имеешь ввиду?
Условно говоря у меня идут действия от одного к другому.
Проверка существования элемента, если его не видно значит нужно выполнить клик по элементу
Если ошибка клика по элементу, т.к он не найден, ставить проверку существования элемента отвечающего за капчу?
Как правильно реализовать цикл?
-
Есть дерево каталогов записанное в файл скриптом. Вот небольшой отрезок этого дерева:

Задача - удалить все корневые и промежуточные каталоги (отмечены жёлтым) и оставить только конечные каталоги продукции.Пытаюсь реализовать в цикле по принципу: если последующая строка содержит в себе предыдущую, то удаляем предыдущую. Иными словами, все корневые каталоги являются подстроками у любых вложенных в них каталогов, и напротив, конечный каталог не будет являться подстрокой другого конечного каталога.
Пробую реализовать в коде, но что-то пошло не так:
var list = VAR_LIST var length = list.length for (i=0;i<length;i++){ if (i==0){ var second = list[i] } else { var first = list[i] var j = i - 1 var second = list[j] if(first.indexOf(second) + 1) { list[j] = '<delete>' } } } VAR_NEW_LIST = listСтавлю вместо удаляемых элементов <delete> и при следующем цикле просто перезаписываю всё, что не "<delete>" в новый список. Иначе если удалять сразу, нумерация массива съезжает.
Но этот алгоритм удаляет почему-то и конечные каталоги (хотя не все). Не могу понять, где я допустил ошибку.
-
-
@Pragmatik Это существующие каталоги? Или просто строки?
-
VAR_LIST=VAR_LIST.filter(function(item,i){ if(VAR_LIST.length>i+1){ return VAR_LIST[i+1].indexOf(item)<0 } return true; })