Правила оформления сообщений в данном топике:
Адрес сайта и страницы, на которой возникла проблема, размещается в тегах [ spoiler][ noindex]http://адрес_сайта/название_страницы[ /noindex][ /spoiler]
Для размещения кода, используйте тег "Code" внутри тега "Spoiler" - [ spoiler][ code]ваш код[ /code][ /spoiler]
или выложите на сайт «Pastebin».
При размещении объемных материалов, используйте тег "Spoiler" - [ spoiler]ваш текст[ /spoiler]
или выложите на сайт «Pastebin».
Размещать изображения в открытом виде. Для размещения скриншотов и других изображений, используйте тег "Spoiler" - [ spoiler][ img]http://ссылка_на_изображение[ /img][ /spoiler]
.
«Можно ответить на любой вопрос, если вопрос задан правильно.»
Платон
«Не каждый вопрос заслуживает ответа.»
Сайрус
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
kariorambo
Т9, что б его))
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Товарищи, подскажите пожалуйста скрипт или решение какое, чтоб когда скрипт определяет IP-адрес и сохраняет в файл, то чтоб ещё сравнивал с существующими уже в этом файле другими сохранёнными IP-адресами и если находил бы идентичный, то подавал бы сигнал (или давал бы знать). Есть такой скрипт готовый? И если нету, то насколько трудно такую задумку реализовать через imacros на ява-скрипте например?
Отсутствует
При условии, что в файле только список адресов в одну колонку, и этот список сохранён чисто (без случайных пробелов и прочего мусора)
//ip который ищем var ip = "185.220.102.4"; //Массив строк из файла var arrIp = imns.FIO.readTextFile(imns.FIO.openNode("C:\\Users\\ip.txt")).match(/^.+/mg); //Смотрим в массиве наличие ip if (arrIp.indexOf(ip) !== -1) { alert("Нашел IP в файле"); } else { alert("Не нашел IP в файле"); }
Еслли в файле не одна колонка, то придётся дополнительно прогонять строки в цикле примерно так
//ip который ищем var ip = "185.220.102.4"; //Массив строк из файла var arrIp = imns.FIO.readTextFile(imns.FIO.openNode("C:\\Users\\ip.txt")).match(/^.+/mg); for (i=0;i<arrIp.length;i++) { //Смотрим в массиве наличие ip if (arrIp[i].match(/[^"",;]+/g)[0] == ip) { alert("Нашел IP в файле"); } else { alert("Не нашел IP в файле"); } }
или собирать все ip из файла в массив такой регуляркой
var arrIp = imns.FIO.readTextFile(imns.FIO.openNode("C:\\ip.txt")).match(/\d+\.\d+\.\d+\.\d+/g);
Или самое простое составить регулярное выражение, которое точно ищет IP в фвайле
//ip который ищем. Экранируем точки var ip = "169.420.102.87".replace(/[.]/g, '\\$&'); //Текст из файла var str = imns.FIO.readTextFile(imns.FIO.openNode("C:\\ip.txt")); //Смотрим в тексте наличие ip if (str.match(new RegExp('"'+ip+'"'))) { alert("Нашел IP в файле"); } else { alert("Не нашел IP в файле"); }
Вариантов масса.
Отредактировано Squatter (06-07-2018 04:40:36)
Отсутствует
Squatter, благодарю за предложенные варианты! Из всех наиболее лучше подходит последний. Только вопрос остался: как делать чтоб в переменную var ip вставлялся самый последний IP-адрес, который скрипт на сайте определил и сохранил в этот же файл?
В нашем случае скрипт по определению IP-адреса выглядит так:
var date = "" + new window.Date().toLocaleDateString() + " " + new window.Date().toLocaleTimeString() +""; alert(date) iimPlayCode('URL GOTO=http://myip.ru/'); iimPlayCode('TAG POS=1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n ADD !EXTRACT "'+date+'"\nSAVEAS TYPE=EXTRACT FOLDER=C:\\ FILE=IP-adres.csv');
var date = "" + new window.Date().toLocaleDateString() + " " + new window.Date().toLocaleTimeString() +""; alert(date) iimPlayCode('URL GOTO=http://myip.ru/'); iimPlayCode('TAG POS=1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n ADD !EXTRACT "'+date+'"\nSAVEAS TYPE=EXTRACT FOLDER=C:\\ FILE=IP-adres.csv');
//ip который ищем. Экранируем точки var ip = "178.121.73.63".replace(/[.]/g, '\\$&'); //Текст из файла var str = imns.FIO.readTextFile(imns.FIO.openNode("C:\\IP-adres.csv")); //Смотрим в тексте наличие ip if (str.match(new RegExp('"'+ip+'"'))) { alert("Нашел IP в файле"); } else { alert("Не нашел IP в файле"); }
Добавлено 07-07-2018 09:51:07
Отредактировано kariorambo (07-07-2018 15:15:29)
Отсутствует
kariorambo
iimPlayCode('TAG POS=1 TYPE=TD ATTR=TXT:* EXTRACT=TXT'); ip=iimGetLastExtract(); alert(ip)
Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.
Отсутствует
PRESIDENT
Благодарю! Получилось всё как надо.
Отсутствует
Товарищи, тут у меня ещё один маленький вопрос остался. Вот в скрипте по поиску в файле IP адреса и последующего сравнения с остальными из этого файла есть такая функция как экранирование точек. Вопрос: а для чего это? Зачем вообще надо было экранировать точки? Ведь если так разобраться, то IP адресы всегда имею точки. Так и сохраняютя в файл, так и выглядят. И когда мы определяем IP адрес сайта, то там тоже точки. Потом сравниваем это IP адрес с остальными адресами, которые тоже с точками...
В общем так я и не понял, для чего надо убирать точки. У меня и с точками всё работает. Вот скриншот для наглядности:
Отредактировано kariorambo (09-07-2018 23:12:38)
Отсутствует
В общем так я и не понял, для чего надо убирать точки
Они никуда не убираются, а лишь строго воспринимаются движком регулярок как точки при экранировании. В противном случае точка означает поиск любого одиночного символа, кроме символа новой строки. И в следующем примере IP будет найден там, где вместо точек в строке стоят другие символы
var str = "169x42z102y87"; if (str.match(/169.42.102.87/)) { alert("Нашел IP в строке"); } else { alert("Не нашел IP в строке"); }
Отсутствует
Squatter, благодарю!
Отсутствует
Перестали работать версии 8.9.7 и 9.0.3.. но до этого ещё и на новую версию обновило.. попробовал в ручную поставить старые версии у обоих кнопка "Воспроизвести" не работает, какой выход? или пора на новую переходить? так какие то ipсвитчеры..
Отсутствует
emozio
Портабельные версии FF в помощь
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
emozio
Пробуйте, есть все версии, даже совсем древние, например 3
Все зависит от задач и от версии имакроса, которую планируете использовать
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
kariorambo
Один и тот же номер q должен повторяться 5 раз,потом реконект ?
И тебе же нужно номер q повторять при ошибке, значит q--;
И желательно поставь после действия ожидание WAIT SECONDS хотя бы в одну секунду.
Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.
Отсутствует
PRESIDENT, спасибо!
Отредактировано kariorambo (12-07-2018 17:52:19)
Отсутствует
del
Отредактировано kariorambo (14-07-2018 00:10:41)
Отсутствует
del
Отредактировано kariorambo (14-07-2018 00:11:14)
Отсутствует
как написать на ява-скрипте простое условие
а что поиск по форуму сломался?
элементарные вопросы, в том числе о том, как проверить доступность страницы - разжевывались многократно
примеры условий вида: "если ... то... иначе..." - разжевывались ни единожды и есть чуть ли не на каждой странице форума iMacros
ставите таймаут на загрузку страницы в 60 сек
после кода с загрузкой страницы (URL GOTO=), проверяете наличие определенного элемента на странице (элемент должен быть всегда на данной странице, например лого или какой-то текст
если ошибка - значит страница не загрузилась или данный элемент не найден, иначе - все ок
Отредактировано InfSub (13-07-2018 08:02:34)
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Всем, привет.
Иногда сталкиваюсь с такой задачей, когда через EVENT интер не действует KEY=13
Вижу на сайтах, что как то чере js -код это делается, но не могу понять как это прописать, чтобы работало.
Вот на этом сайте, нужно в чат отправить текст.
Регистрироваться не нужно.
или
FRAME F=1 EVENT TYPE=CLICK SELECTOR="#kiwi>DIV:nth-of-type(5)>DIV:nth-of-type(2)>DIV>TEXTAREA" BUTTON=0 EVENTS TYPE=KEYPRESS SELECTOR="#kiwi>DIV:nth-of-type(5)>DIV:nth-of-type(2)>DIV>TEXTAREA" CHARS="Всем, привет"
Не отправляет
EVENT TYPE=KEYPRESS SELECTOR="#kiwi>DIV:nth-of-type(5)>DIV:nth-of-type(2)>DIV>TEXTAREA" KEY=13 EVENT TYPE=KEYPRESS SELECTOR="#kiwi>DIV:nth-of-type(5)>FORM>INPUT" KEY=13
код публикуется в тегах code под спойлером
InfSub
Отредактировано Алим (13-07-2018 12:21:55)
Истина в последней инстанции
Отсутствует
Уже нашёл решения.
Может это кому-то поможет
Просто заменили KEYPRESS на KEYDOWN
EVENT TYPE=KEYDOWN SELECTOR="HTML>BODY>DIV>DIV:nth-of-type(5)>DIV:nth-of-type(2)>DIV>TEXTAREA" KEY=13
Истина в последней инстанции
Отсутствует
InfSub, спасибо!
Отредактировано kariorambo (14-07-2018 00:14:10)
Отсутствует
Здравствуйте! Я учусь программированию на java-скрипт языке. У меня не получается решить такую задачку: как написать код, который сохраняет текст в файл с расширением csv в разные столбцы? Например в столбец A, B, C. Для этого обязательно обнуление делать или нет?
Вот например, извлекаем текст и сохраняем в файл:
TAG POS=1 TYPE=* ATTR=* EXTRACT=TXT SAVEAS TYPE=EXTRACT FOLDER=D:\ FILE=1.txt SET !EXTRACT NULL
Отсутствует
Пример на предыдущей странице
ADD !EXTRACT A ADD !EXTRACT B ADD !EXTRACT C //И только потом сохранение SAVEAS TYPE=EXTRACT FOLDER=D:\ FILE=1.txt SET !EXTRACT NULL
З.Ы. Это не JS, а лишь обёртка на него и некоторые браузерные методы.
Отредактировано Squatter (15-07-2018 18:24:41)
Отсутствует
del
Отредактировано kariorambo (16-07-2018 11:24:46)
Отсутствует
Squatter что-то не то вы мне подсказали! Вот я написал простой js код-скрипт НА ВАШЕМ ПРИМЕРЕ (по вашей "подсказке"):
for(a=1; a<5; a++){ iimPlayCode('URL GOTO=https://forum.mozilla-russia.org/viewtopic.php?pid=759923#p759923'); iimPlayCode('TAG POS=19 TYPE=STRONG ATTR=TXT:Участник EXTRACT=TXT\nADD !EXTRACT A'); iimPlayCode('TAG POS=19 TYPE=STRONG ATTR=TXT:Members EXTRACT=TXT\nADD !EXTRACT B'); iimPlayCode('TAG POS=19 TYPE=DD ATTR=TXT:Группа:* EXTRACT=TXT\nADD !EXTRACT C'); iimPlayCode('SAVEAS TYPE=EXTRACT FOLDER=C:\ FILE=1.csv'); }
Отредактировано Герман (16-07-2018 11:29:03)
Отсутствует