Правила оформления сообщений в данном топике:
Адрес сайта и страницы, на которой возникла проблема, размещается в тегах [spoiler][noindex]http://адрес_сайта/название_страницы[/noindex][/spoiler]
Для размещения кода, используйте тег "Code" внутри тега "Spoiler" - [spoiler][code]ваш код[/code][/spoiler]
или выложите на сайт «Pastebin».
При размещении объемных материалов, используйте тег "Spoiler" - [spoiler]ваш текст[/spoiler]
или выложите на сайт «Pastebin».
Размещать изображения в открытом виде. Для размещения скриншотов и других изображений, используйте тег "Spoiler" - [spoiler][img]http://ссылка_на_изображение[/img][/spoiler]
.
«Можно ответить на любой вопрос, если вопрос задан правильно.»
Платон
«Не каждый вопрос заслуживает ответа.»
Сайрус
Отсутствует
Приветствую
я пробую свои силы в програмировании ява скрипта, и в одной из строк скрипт должен считывать капчу на сайте фрибиткоин:
macro1 += "TAG POS=1 TYPE=IMG ATTR=SRC:"https://www.google.com/recaptcha/api/image?c=*" CONTENT=EVENT:SAVEPICTUREAS" + "\n";
но когда стартую скрипт, именно в этой строке ошибка, оставляю:
macro1 += "" + "\n";
скрипт работает. в чем может быть проблема?
За ранее примного благодарен!
кавычки экранировать не пробовал?
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Простите, если честно не понял. Что значит экранировать?
я просто уже 16 лет за границей живу. возможно уже кое какие слова и подзабыл
Отредактировано lonik101 (09-10-2014 22:35:39)
Отсутствует
Простите, если честно не понял. Что значит экранировать?
что такое спец-символы знаете?
Что значит экранировать
macro1 += "TAG POS=1 TYPE=IMG ATTR=SRC:\"https://www.google.com/recaptcha/api/image?c=*\" CONTENT=EVENT:SAVEPICTUREAS" + "\n";
Отредактировано InfSub (09-10-2014 22:37:18)
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
я просто уже 16 лет за границей живу. возможно уже кое какие слова и подзабыл
Экранирование символов - это замена управляющих символов на соответствующие текстовые подстановки. Символ экранирования (escape) (\) сообщает командной оболочке, что символ, стоящий за ним, надо воспринимать буквально.
Обычно языки программирования, текстовые командные интерфейсы, языки разметок текста (HTML, TeX, wiki-разметка) имеют дело со структурированным текстом, в котором некоторые символы (и их комбинации) используются в качестве управляющих, в том числе управляющих структурой текста. В ситуации, когда необходимо использовать такой символ в качестве «обычного символа языка», применяют экранирование.
В языке программирования Си (в JavaScript - аналогично, прим. InfSub), внутри строк экранирование символов осуществляется с помощью символа '\', помещённого перед экранируемым символом. (При этом символ '\' может экранировать себя, то есть для вывода бэкслеша используется комбинация '\\').
Пример экранирования двойных кавычек ("):
alert("\"Медведь\" ... он сказал.") # "Медведь" ... он сказал.
Отредактировано InfSub (09-10-2014 23:44:01)
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Помогите довести до ума этот код.
Надо чтобы при нахождений слова срабатывал iimPlay("2.iim",60);
errCode=iimPlay("CODE:FRAME F=0\nTAG POS=1 TYPE=DIV ATTR=ID:* EXTRACT=TXT");
ipat=iimGetLastExtract();
ip=ipat.replace(myRegExp,"TutTekstEst");
if (ip == 'TutTekstEst' ) {
iimPlay("1.iim",60);
} else {
iimPlay("2.iim",60);
alert('Этой фразы тут нету!');
}
}
Отредактировано Gergi (11-10-2014 23:07:16)
Отсутствует
Помогите довести до ума этот код.
Надо чтобы при нахождений слова срабатывал iimPlay("2.iim",60);скрытый текстvar n=prompt("Введите количество циклов",22)
for (i=1;i<=n;i++){
var word = ('Введите Искомое слово', 'Всем привет');
var myRegExp = new RegExp('[\\s\\S]*' + word + '[\\s\\S]*', 'gi');errCode=iimPlay("CODE:FRAME F=0\nTAG POS=1 TYPE=DIV ATTR=ID:* EXTRACT=TXT");
ipat=iimGetLastExtract();
ip=ipat.replace(myRegExp,"TutTekstEst");if (ip == 'TutTekstEst' ) {
iimPlay("1.iim",60);
} else {
iimPlay("2.iim",60);
alert('Этой фразы тут нету!');
}
}
был похожий вопрос, посмотрите здесь http://vk.com/wall-51683227_586
врезультате будет либо #EANF# если такого текста нет и "...какой то текс..." если такой текст есть на странице
Отредактировано osnastya991 (12-10-2014 12:12:29)
Отсутствует
Gergi
предположу, что проблема в регулярном выражении
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Я на все 100% уверен в этом но у меня мозги кипят от этих скриптов и в данный момент не могу ничего сообразить.
Добавлено 12-10-2014 20:11:38
Вот этот отлично работает
Но срабатывает только на TAG POS=1
if (w>0){
for (w=1;w<=1;w++){
w=iimPlay("5.iim")
if (w>0){
break
}
}
}
}
Добавлено 12-10-2014 20:14:14
Мне надо чтобы срабатывал TAG POS=2
Отредактировано Gergi (12-10-2014 20:14:14)
Отсутствует
Это код для поиска информации,а мне надо чтобы после поиска информации сработал iimPlay("2.iim",60);
ок, я тут на форуме, в своем посте, выше, указал код и как им пользоваться. все как вы и просили, нужно только подставить ваши условия
Отсутствует
Я на все 100% уверен в этом но у меня мозги кипят от этих скриптов и в данный момент не могу ничего сообразить.
Добавлено 12-10-2014 20:11:38
Вот этот отлично работает
Но срабатывает только на TAG POS=1
как он может срабатывать на tag pos=1, если у вас в коде tag pos=4
и при чем тут этот код
var i=0; var n=prompt("Введите количество циклов",2) for (i=1;i<=n;i++){ var q; for (q=1;q<=1;q++){ iimDisplay("ЦИКЛ- "+i) iimPlay("4.iim",60); } w=iimPlayCode("TAG POS=4 TYPE=P ATTR=*") if (w>0){ for (w=1;w<=1;w++){ w=iimPlay("5.iim") if (w>0){ break } } } }
var n=prompt("Введите количество циклов",22) for (i=1;i<=n;i++){ var word = ('Введите Искомое слово', 'Всем привет'); var myRegExp = new RegExp('[\\s\\S]*' + word + '[\\s\\S]*', 'gi'); errCode=iimPlay("CODE:FRAME F=0\nTAG POS=1 TYPE=DIV ATTR=ID:* EXTRACT=TXT"); ipat=iimGetLastExtract(); ip=ipat.replace(myRegExp,"TutTekstEst"); if (ip == 'TutTekstEst' ) { iimPlay("1.iim",60); } else { iimPlay("2.iim",60); alert('Этой фразы тут нету!'); } }
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
То что там стоит TAG POS=4 это я при своих экспериментах поменял 1 на 4 и ещё раз повторюсь что код работает отлично но не срабатывает TAG POS=2 и именно из-за этого я изобретаю велосипед и он почти готов,надо только при НЕ нахождений слова чтобы сработал iimPlay("2.iim",60);
Отсутствует
так отладьте сначала скрипт на чистом имакросе, чтобы срабатывал и pos=2... и т.д....
в остальном, все зависит от того что и где вы ищите, на мой взгляд ошибка в рег. выражении, писал уже об этом ранее, но я не экстрасенс чтобы угадывать что вы этим выражением пытаетесь заменить
Отредактировано InfSub (12-10-2014 21:52:52)
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Ну вот запись TAG POS=1 TYPE=P ATTR=TXT:Черная<SP>шапка<SP>из<SP>шерсти<SP>мохер,<SP>уникальная<SP>ш* не важно какой пост записываю всё равно TAG POS=1 выходит TAG POS=2 не записывается
Добавлено 12-10-2014 22:01:29
Поэтому я пытаюсь другой усовершенствовать,мне надо только чтобы сработал iimPlay("2.iim",60);
Отредактировано Gergi (12-10-2014 22:02:08)
Отсутствует
Ну вот запись TAG POS=1 TYPE=P ATTR=TXT:Черная<SP>шапка<SP>из<SP>шерсти<SP>мохер,<SP>уникальная<SP>ш* не важно какой пост записываю всё равно TAG POS=1 выходит TAG POS=2 не записывается
Добавлено 12-10-2014 22:01:29
Поэтому я пытаюсь другой усовершенствовать,мне надо только чтобы сработал iimPlay("2.iim",60);
либо я вас не понимаю, либо, вам стоит перечитать азы имакроса, к примеру, по ссылке, данной osnastya991 или в вики
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Ну что тут понимать?
errCode=iimPlay("CODE:FRAME F=0\nTAG POS=1 TYPE=DIV ATTR=ID:* EXTRACT=TXT");
ipat=iimGetLastExtract();
ip=ipat.replace(myRegExp,"TutTekstEst");
if (ip == 'TutTekstEst' ) {
iimPlay("1.iim",60);
} else {
iimPlay("2.iim",60);
alert('Этой фразы тут нету!');
}
}
Отсутствует
Ну что тут понимать?
не понимаю проблемы получить pos=2 из:
Ну вот запись TAG POS=1 TYPE=P ATTR=TXT:Черная<SP>шапка<SP>из<SP>шерсти<SP>мохер,<SP>уникальная<SP>ш* не важно какой пост записываю всё равно TAG POS=1 выходит TAG POS=2 не записывается
Добавлено 12-10-2014 23:31:55
во-вторых, мне не понятна логика, с которой составлен скрипт на js
в-третьих, по js - куча форумов и сайтов, где могут ответить на ваши вопросы, не касающиеся вопросов имакроса (а проблема, прямоты рук, при написании js-скрипта, не имеет отношения, к проблемам с имакросом и, соответственно, к данному форуму - ни какого отношения)
в-четвертых, я уже дважды, косвенно указал, где одна из ошибок, даже ни разу не запустив скрипт, повторить в третий раз?
проблема в регулярном выражении
Отредактировано InfSub (12-10-2014 23:32:39)
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
могу только добавить, что:
errCode=iimPlay("CODE:FRAME F=0\nTAG POS=1 TYPE=DIV ATTR=ID:* EXTRACT=TXT");
при значении равном TAG POS=1 - всегда,будет проверять один и тот же кусок текста на наличие/отсутствие в нем искомой фразы
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
мне это и нужно
Добавлено 13-10-2014 00:52:37
errCode=iimPlay("CODE:FRAME F=0\nTAG POS=1 TYPE=DIV ATTR=ID:* EXTRACT=TXT"); в этом коде срабатывает и TAG POS=1 и TAG POS=2 TAG POS=3 мне только нужно что бы запускался 2.iim
Отредактировано Gergi (13-10-2014 00:52:37)
Отсутствует
мне это и нужно
Добавлено 13-10-2014 00:52:37
errCode=iimPlay("CODE:FRAME F=0\nTAG POS=1 TYPE=DIV ATTR=ID:* EXTRACT=TXT"); в этом коде срабатывает и TAG POS=1 и TAG POS=2 TAG POS=3 мне только нужно что бы запускался 2.iim
значит, все будет работать так, как вами задумано, после корректировки рег. выражения, либо применения других методов (попроще) для определения, есть ли в извлеченном тексте искомое
судя по тому, что вы не понимаете, где у вас ошибка, могу только посоветовать погуглить на тему рег. выражений и разобраться в их построении
Отредактировано InfSub (13-10-2014 02:05:22)
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
как уже писал ранее, не вижу смысла использовать для этого regexp, есть куча функций работы со строками, использование, которых, для вас будет проще, нежели ломать мозг над написанием регулярки, хотя в данном случае, ошибка банальна и исходит из непонимания сути написанного выражения
Добавлено 13-10-2014 02:13:09
я не вижу ошибку из-за того что не соображаю в js
что мешает задать вопрос на соответствующем форуме?
Отредактировано InfSub (13-10-2014 02:13:09)
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Дело в том что из-за такой мелочи нет желания регистрироваться на других форумах. Я убеждён что и сам решу этот вопрос,но так как мозг запаренный пока не могу сообразить ошибку.
Добавлено 13-10-2014 02:21:51
а причём тут RegExp?
Отредактировано Gergi (13-10-2014 02:21:51)
Отсутствует
var n=prompt("Введите количество циклов",22)
for (i=1;i<=n;i++){
var word = ('Введите Искомое слово', 'Всем привет');
// var word = ('...', '...') - что это за бред? бывший prompt()? зачем он в цикле?
// word - хоть и принимает правильное значение и ...
// такой код - работать будет, но это быдлокодингvar myRegExp = new RegExp('[\\s\\S]*' + word + '[\\s\\S]*', 'gi');
// где вы видели, чтобы предложение начиналось с пробела и между словами пробел отсутствовал?errCode=iimPlay("CODE:FRAME F=0\nTAG POS=1 TYPE=DIV ATTR=ID:* EXTRACT=TXT");
// что такое iimPlayCode(), судя по всему, тоже не знаем?
// ...зачем тут errCode, если вы его не проверяете?ipat=iimGetLastExtract();
ip=ipat.replace(myRegExp,"TutTekstEst");if (ip == 'TutTekstEst' ) {
// замена по рег. выр., чтобы потом сравнить на совпадение? О_о
// для проверки рег выражения - есть специальные методы...
// работать будет, но это быдлокодингiimPlay("1.iim",60);
} else {
iimPlay("2.iim",60);
alert('Этой фразы тут нету!');
}
}
Отредактировано InfSub (13-10-2014 16:25:45)
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует