@FastSpace said in Как сравнить картинки?:
@Dodok ксевил и км много не решают каптч.
На второй третий круг обычно решают, был опыт работы. Тем более текстовую.
Если через "игнорировать ошибку" какой то процес зациклен, можно как то ограничетить количество повторов? Нужен простой способ, добавлять +1 в переменную это не подходит, не хочу засорять скрипт. Или как то можно ограничить максимальную длительность выполнения сценария? Это бы тоже могло решить проблему, но везде ставить проверку времени, это конечно так же не подходит, нужно простое решение.
Выше написали про CYCLE_INDEX.
В любом цикле (for, while, foreach) есть встроенный счетчик [[CYCLE_INDEX]]. Он автоматически увеличивается с каждой итерацией (повтором). Без него цикл, в принципе, был бы невозможен.
Допустим есть бесконечный цикл while (или любой другой цикл):
while (true) {
Любая логика скрипта...
}
Нужно прервать цикл на 20 повторе, пишем условие и прерываем скрипт командой "Break". Как скрипт дойдет до условия if и [[CYCLE_INDEX]] будет равняться 20, цикл прервется:
while (true) {
if ( [[CYCLE_INDEX]] === 20 ) {
Break
}
Любая логика скрипта...
}
Условие можно любое писать, можно не использовать [[CYCLE_INDEX]], а вместо этого проверять, допустим равняется ли какая-нибудь переменная тому-то и если равняется, то прервать цикл Break'ом.
Это я в стиле JavaScript'а написал. В BAS точно так же делаешь этими же блоками (Цикл - while, условие - if, прервать цикл - Break).
А вообще если определенное количество повторов нужно, то лучше использовать цикл For. Там повторений столько, сколько ты написал.
@SecDeveloper спасибо за информацию. Если не сложно, не могли бы вы показать на примере, возьмем загрузка страницы зацыклена через игнорировать ошибку, что туда добавить что бы попыток было не больше 10. Я то смысл понимаю, хочеться сделать максимально красиво и компактно.
@SecDeveloper в "игнорировать ошибку" нету CYCLE_INDEX
@Andrey550 said in Как ограничить количество повторов?:
@SecDeveloper в "игнорировать ошибку" нету CYCLE_INDEX

Скрипт: 2128.xml