TypeError: Result of expression 'c._Break' [undefined] is not a function.



  • Ошибка Поток завершился с сообщением "TypeError: Result of expression 'c._Break' [undefined] is not a function. Номер строки:108 Во время выполнения скрипта _next()"

    Почему выбивает ошибку? ([[SAVED_TEXTBODY1]]) > (0) на этом месте

    Сменил ее на (([[SAVED_TEXTBODY1]]).length) > (0) все равно ошибка...

    В режиме записи все работает отлично

    Все переменные получаются хорошо. Данные от ВК АПИ в формате Json вроде



  • Эм, название темы "Помогите с регуляркой", где тут регулярка?

     ([[SAVED_TEXTBODY1]]) > (0)
    

    Это ты где вписывал? В IF, или в Выполнить код?
    В IF надо

    [[SAVED_TEXTBODY1]] > 0
    

    И что ты именно хочешь получить? Ведь переменная SAVED_TEXTBODY сохраняет текст страницы, зачем его сравнивать с нулём?



  • @Fox
    1.Вписал в IF
    2.Получаю переменную такой регуляркой
    Если больше нуля, значит вылезла каптча и нужно ее разгадать
    (function(){var rs = []; var r = /"captcha_sid":"?(\d*)/gm; var s = [[SAVED_TEXTBODY]]; var m; var i = -1; while(m = r.exec(s)){if(i == m.index) break; i = m.index; rs.push((m.length>1) ? m[1] : m[0]);} return rs;})()



  • @Fox

    Не работает, ту же ошибку выбивает :(

    [[SAVED_TEXTBODY1]] > 0
    


  • @35xakers Я пока другим занят, скинь пример кода, так быстрее разберусь.



  • @Fox пример ответа от АПИ

    {"error":{"error_code":14,"error_msg":"Captcha needed","request_params":[{"key":"oauth","value":"1"},{"key":"method","value":"friends.add"},{"key":"user_id","value":"1"}],"captcha_sid":"943836746330","captcha_img":"https:\/\/api.vk.com\/captcha.php?sid=943836746330&s=1"}}
    

    Потом проверяю есть ли тут captcha_sid и записываю в переменную SAVED_TEXTBODY1

    (function(){var rs = []; var r = /"captcha_sid":"*(\/d*)"*/gm; var s = [[SAVED_TEXTBODY]]; var m; var i = -1; while(m = r.exec(s)){if(i == m.index) break; i = m.index; rs.push((m.length>1) ? m[1] : m[0]);} return rs;})()
    

    Потом пытаюсь проверить SAVED_TEXTBODY1 > 0 и сразу ошибка,

    Или может по другому как то скинуть? проект большой просто, пытаюсь понятнее



  • @Fox 0_1495372773683_пример.xml

    Прикрепил проект



  • @35xakers Только открыл проект.
    IF сработает если:

    [[SAVED_TEXTBODY1]].length>0
    

    Но это означает только что переменная SAVED_TEXTBODY1 не пустая.
    Я так понимаю проект тестовый, но тебе же можно было всё проще реализовать.

    Подходит ли строка под регулярное выражение

    "captcha_img":"(.*?)"
    

    IF

    [[STRING_MATCHES]] == true
    

    Первое вхождение

    "captcha_img":"(.*?)"
    

    А результат можешь поставить в Решить капчу



  • @Fox можно подробнее пожалуйста?) что то вообще не понял))
    Просто АПИ выдает 2 текста, один в примере, а другой рандомный с кол-вом лайков, вот и вытаскиваю есть ли каптча. Там не просто проверка идет на пустой или нет, а на идентификатор каптчи. Если он есть то потом iF проходит, если нет не проходит. Но вот iF у меня не проходит, баг что в теме пишет хоть усрись, вообще не пойму в чем дело.
    У тебя мой тестовый проект кстати нормально отработал в режиме запуска или тоже баг?



  • @35xakers

    можно подробнее пожалуйста?) что то вообще не понял))

    [[SAVED_TEXTBODY1]] - это строка, вы хотите проверить не пустая ли она, тогда нужно взять ее длину вот так

    [[SAVED_TEXTBODY1]].length
    

    и проверить чтоб длина была больше 0

    [[SAVED_TEXTBODY1]].length > 0
    

    Тогда как в проекте

    [[SAVED_TEXTBODY1]].length > 0.length //неправильно
    

    Второе - этот код

    (function(){var rs = []; var r = /"captcha_img":"*(.*)"\}\}*/gm; var s = [[SAVED_TEXTBODY]]; var m; var i = -1; while(m = r.exec(s)){if(i == m.index) break; i = m.index; rs.push((m.length>1) ? m[1] : m[0]);} return rs;})()
    

    В нем тоже есть какая-то ошибка, но не могу сказать какая.
    Если вы хотите применить регулярное выражение к строке, то лучше использовать действие "Первое вхождение", как предлагает @Fox


Log in to reply