Допустим есть такой код.

скрытый текст

Выделить код

Код:

for (i = 0; i < arr.length ; i++)
    var k = arr[i].querySelectorAll(".special")[0].textContent;


При i = 0, 1, 2 код выполнятся не должен. То есть, я рассчитываю на то, что  сработает код при значении
скрытый текст

Выделить код

Код:

arr[3].querySelectorAll(".special")[0].textContent


Это число "3" всегда разное.
Проблема в том, что работа скрипта останавливается, так как
скрытый текст

Выделить код

Код:

arr[0].querySelectorAll(".special")[0].textContent


не существует и соответственно получаю ошибку в imacros:

TypeError: arr.querySelectorAll(...)[0] is undefined, line ... (Error code: -991)

При этом, код работает, когда условия сайта подстраиваются под

скрытый текст

Выделить код

Код:

arr[0].querySelectorAll(".special")[0].textContent


и код работает верно пока i не дойдет до момента когда элемента не существует.
Я нашел информацию, что можно воспользоватся:
1)
скрытый текст

Выделить код

Код:

try{ //code that causes an error }catch(e){ functionToHandleError(e); } //continue from here


2)
скрытый текст

Выделить код

Код:

window.onerror = function(){ return true; }


Но это было безуспешно.

код публикуется в тегах code под спойлером
замечание

[i]InfSub

Пытался добавить проверку в цикл, но всё равно ошибка.

скрытый текст

Выделить код

Код:

if(arr[i].querySelectorAll(".special")[0].textContent)
    {...}
else i++;


код публикуется в тегах code под спойлером

InfSub

Логично пару проверок сделать. Как вариант, так

скрытый текст

Выделить код

Код:

var arr = content.document.querySelectorAll("selector");
    if (arr.length === 0) { alert("Найдено эл-ов = " + arr.length); }//На случай если массив пуст
for (i=0;i<arr.length;i++) {
    var parse = arr[i].querySelectorAll(".special");
    if (parse.length === 0) {
        alert(parse);//Если не найдёт эл-ов с классом special
    } else {
        alert(parse[0].textContent);//Если найдёт эл-ты с классом special применяем .textContent
    }
}


В противном случае юзать
try{...}
catch(e){...}

или вообще менять подход