Правила оформления сообщений в данном топике:
Адрес сайта и страницы, на которой возникла проблема, размещается в тегах [spoiler][noindex]http://адрес_сайта/название_страницы[/noindex][/spoiler]
Для размещения кода, используйте тег "Code" внутри тега "Spoiler" - [spoiler][code]ваш код[/code][/spoiler]
или выложите на сайт «Pastebin».
При размещении объемных материалов, используйте тег "Spoiler" - [spoiler]ваш текст[/spoiler]
или выложите на сайт «Pastebin».
Размещать изображения в открытом виде. Для размещения скриншотов и других изображений, используйте тег "Spoiler" - [spoiler][img]http://ссылка_на_изображение[/img][/spoiler]
.
«Можно ответить на любой вопрос, если вопрос задан правильно.»
Платон
«Не каждый вопрос заслуживает ответа.»
Сайрус
Отсутствует
Ребят, каким образом можно добавить еще одно альтернативное действие ? Либо игнор если ни чего не присутствует. (элемент меняется время от времени)
var t0='SET !ERRORIGNORE YES \nSET !TIMEOUT_STEP 0 \n'; try { iimPlayCode(t0+'TAG POS=1 TYPE=div ATTR=id:*timer* EXTRACT=HTM'); taime=iimGetExtract().match(/>(.*?)</)[1]; time=taime-3 iimPlayCode('WAIT SECONDS='+time); } catch (e){ iimPlayCode(t0+'TAG POS=1 TYPE=input ATTR=class:*submit* EXTRACT=HTM'); time=iimGetExtract().match(/value="(\d+)/)[1]; iimPlayCode('WAIT SECONDS='+time+'\nWAIT SECONDS=1'); }
Отредактировано dim222 (13-09-2016 22:12:40)
Отсутствует
Hamzat
Любой файл не позволит вам, в отличии от БД, писать в него одновременно, так что, вы пытаетесь теплое с мягким.
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Доброй ночи! Нужна помощь. написал скрипт для смены прокси, но почему то он не работает, в чём может быть беда?
for (o=1;o<=10;o++){ iimSet("p",o); ggg = "CODE:"; ggg += "SET !DATASOURCE proxylist.txt" + "\n"; ggg += "SET !DATASOURCE_LINE{{p}}" + "\n"; ggg += "SET !EXTRACT {{!COL1}}" + "\n"; iimPlay(ggg) b = iimGetLastExtract() iimPlay("CODE:URL GOTO=about:config\n WAIT SECONDS=1")
Отсутствует
в чём может быть беда?
В том, что вы не читали FAQ.
Любой iim-код, запущенный из js работает в пределах одной функции iimPlayCode(). Следующий код, будет равносилен запуску отдельного iim-скрипта.
Настройки прокси, используемые вами распространяются только на тот код, в котором вызываются.
Как юзать прокси из js, читайте в FAQ, там есть видео урок.
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
InfSub
При всем уважение, но скажите мне что будет когда вы одновременно пошлете два (или сколько угодно) запросов на php скрипт который записывает данные в обычный txt файл?
iMacros скрипты на заказ!
Отсутствует
InfSub
При всем уважение, но скажите мне что будет когда вы одновременно пошлете два (или сколько угодно) запросов на php скрипт который записывает данные в обычный txt файл?
Здоров Хамзат, это Макс.
Значит прорабатывал я этот вопрос на днях. Можно использовать MySQL + mini php скрипт, который выполняет те или иные действия. MySQL выгодней txt, потому что быстрее читает огромые данные, и имеет интерфейс phpmyadmin для более удобной работы.
Что делает js? Сливает XHR на формы, которые передают php данные, а php в свою очередь контролит MySQL.
UPD:
В MySQL есть такие чудесные вещи как автоинкрименты, хранение данных ближе к оперативной памяти, что позволяет не считывать всю таблицу целиком в циклах, что свою очередь:
1. Разгружает оперативку компьютера;
2. Не заюзывает жёсткий;
3. Разгружает вычисления на JS скриптах;
4. Позволяет собирать большие системы с множественной логикой.
А далее непаханое поле. Можно писать сайтики, php которых тесно дружит с JS на клиенте.
Отредактировано Deamelfuse (14-09-2016 03:09:31)
Отсутствует
Hamzat
Скажите, при чем тут тхт-файл, да еще и за чем-то с записью через php? Я, кажется, говорил о БД, например, о MySQL
Добавлено 14-09-2016 09:16:27
Deamelfuse - прав, все что им описано, позволяет делать БД. Не говоря о том, что выводить статистику (записанные данные) можно в любом удобоваримом виде, в отличии от тхт
Добавлено 14-09-2016 09:20:42
Разве что добавлю, что неправильное структурирование данных в БД в итоге может вызвать, со временем, дикие тормоза при выгрузке данных. Чтобы этого избежать, данные не дублируют, используют индексы и так далее, и тому подобное... Читайте Ман по MySQL или по той БД, что будете использовать.
Отредактировано InfSub (14-09-2016 09:20:42)
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Добрый день, на сайте рандомно появляется кнопка которую нужно нажать, использую простенькую конструкцию
SET !ERRORIGNORE YES VERSION BUILD=9030808 RECORDER=FX TAB T=1 TAG POS=1 TYPE=BUTTON ATTR=TXT:Подтвердить<SP>свое<SP>участие WAIT SECONDS=120
// ждем, пока не появится нужный элемент while(iimPlayCode(‘TAG POS= ….’)<0){}; // искомый элемент на странице // когда найден — идем дальше iimPlayCode('TAG POS= ….'); // ваш код
И еще, хотелось чтобы нажатие при появление кнопки происходило с рандомной задержкой, скажем 0-10 секунд.
Для всего макроса я примерно понимаю как прикрутить рандомное время задержки цикла, для моего видимо как-то так( но интересует задержка именно шага нажатия)
SET !ERRORIGNORE YES VERSION BUILD=9030808 RECORDER=FX TAB T=1 TAG POS=1 TYPE=BUTTON ATTR=TXT:Подтвердить<SP>свое<SP>участие SET !VAR1 EVAL("var randomNumber=Math.floor(Math.random()*10 + 0); randomNumber;") WAIT SECONDS={{!VAR1}}
Отсутствует
InfSub , Deamelfuse
Тем что для хранение данных лучше бд, естественно спору нет и это вполне логично. Но у человека была немного другая задача, и исходя из этого я ему предложил использовать гугл таблицы (что довольно просто и быстро) либо купить самый дешевый хост и записывать данные через php в txt файл, при этом как я лично понял ему не нужно бд, ему нужно чтобы можно было записывать как с локальных машин так и с vps, при этом если будут одновременные запросы чтобы они не пересекались, под эти задачи оба варианта более чем подходит, при этом я не говорю что тот же Mysql не подходит, естественно он подходит , и уже повторюсь это логично. У каждого свои заморочки если нужно быстро сделать при этом организованность txt подходит, то почему бы так не сделать!?
iMacros скрипты на заказ!
Отсутствует
Доброго времени суток. Кто нибудь пользуется новой версией imacros 9.0.3? Какие есть отзывы? А то у меня случайно обновился вместе с браузером и перестали работать все скрипты, выдавал ошибку 1001, пришлось устанавливать старую.
Отсутствует
И еще такой вопрос, кто нибудь знает, как избавиться от ошибки: "out of memory, line NaN (Error code: -991)" А то переписал один скрипт, так теперь либо зависает мозила и вылетает, либо эта ошибка. Связано с тем, что в скрипте сравниваются данные, в массив записано больше 6000 записей, и их мы сравниваем с новыми данными, и если есть соответствия, то берутся следующие данные и опять сравниваются, пока не будет найдено несоответствие... Коряво объяснил... Так вот, сравнение происходит очень быстро и браузер начинает виснуть, пробовал подтормаживать, делать 10 сек паузы, помогает частично:
if(massiviid.indexOf(ID)==-1)//Вот здесь ищем несоответствие, массив massiviid содержит 6000 строк, ID меняет данные где-то 400 раз { ... } else{razgruz++;} if(razgruz>=20){iimPlayCode('WAIT SECOND=10');razgruz=0;}//при 20 совпадениях даем остыть системе
Отсутствует
Sergey_yu
Нужно оптимизировать поиск, а не тормозить его wait'ом
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Любой файл не позволит вам, в отличии от БД, писать в него одновременно, так что, вы пытаетесь теплое с мягким.
Так же как и любая база данных, например SQLite при начале транзакции блокирует весь файл. Тот же MySQL при типе таблиц MyISAM при вставке блокирует всю таблицу. В последнее время для простого логирования использую MongoDB, если логи нужно не только хранить а и обрабатывать анализировать, то здесь MySQL c MyISAM, если нужно это дело транслировать в сеть (например вывод логов в реальном времени со 100 ботов) то здесь стоит прикрутить Nodejs и сокеты.
Отредактировано dvomaks (14-09-2016 21:34:09)
Отсутствует
Макрос извлекает текст такого формата 1,4,5,8 из страницы и сохраняет в текстовый документ в одну строку.
Сохраняет в кавычках "1,4,5,8" как одно целое.
Затем макрос должен их из документа брать поотдельности первую цифру, потом вторую и т.д.
Но это он не может сделать из-за кавычек. Если убрать кавычки всё нормально работает.
Как сделать, чтобы при сохранении кавычки уберались?
Или как это можно сделать?
'Извлекает со страницы цифры TAG POS=1 TYPE=SPAN ATTR=* EXTRACT=TXT 'Сохраняет в документ SAVEAS TYPE=EXTRACT FOLDER=C:\Users\Admin\Desktop\ FILE=файл.txt 'Берёт эти цифры из этогоже документа SET !DATASOURCE "C:\Users\Admin\Desktop\файл.txt" 'вставляет в нужные места TAG POS={{!COL1}} ... TAG POS={{!COL2}} ... TAG POS={{!COL3}} ...
Отредактировано Алим (14-09-2016 21:57:49)
Истина в последней инстанции
Отсутствует
Быстрый поиск, пишем слово кавычки и жмем поиск по разделу
Отсутствует
Нужно оптимизировать поиск, а не тормозить его wait'ом
Спасибо, а как его оптимизировать? В голову ничего не приходит, кроме как разложить массив на элементы и с каждым сравнивать?(Будет отнимать кучу ресурсов)
Отредактировано Sergey_yu (14-09-2016 22:17:26)
Отсутствует
Алим
Перед сохранением замените запятые на [EXTRACT]
Добавлено 14-09-2016 22:54:00
Sergey_yu
Создайте массив/объект, ключами которого будут значения вашего массива. Этим вы отсекете все лишние элементы, без затрат на поиск.
Отредактировано InfSub (14-09-2016 22:54:00)
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
InfSub
Заменил EXTRACT на TXT и теперь сохраняет без кавычек в документ
TAG POS=1 TYPE=SPAN ATTR=* EXTRACT=TXT SAVEAS TYPE=EXTRACT FOLDER=C:\Users\Admin\Desktop\ FILE=файл.txt TAG POS=1 TYPE=SPAN ATTR=* EXTRACT=TXT SAVEAS TYPE=TXT FOLDER=C:\Users\Admin\Desktop\ FILE=файл.txt
Истина в последней инстанции
Отсутствует
Алим
Алим, вы читать умеете? При чем тут ТХТ?
TAG POS=1 TYPE=SPAN ATTR=* EXTRACT=TXT SET !EXTRACT EVAL("'{{!EXTRACT}}'.replace(/,/g,'[EXTRACT]')")
Отредактировано InfSub (15-09-2016 08:56:37)
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Создайте массив/объект, ключами которого будут значения вашего массива. Этим вы отсекете все лишние элементы, без затрат на поиск.
Полчаса ломал голову, так и не понял... Создать новый массив и переписать в него данные старого массива...?
Отсутствует
Подскажите пожалуйста.
У меня на странице выдаёт цифры и между ними может быть запятые, слеш, знак вопроса 2/3?7?9
а иногда просто цифры, иногда везде слеш.
Как можно сделать так, чтобы эти цифры сохранялись в документ через запятую
(например так "1","2","3"), в не зависимости, что будет между цифрами или не будет ничего вовсе?
InfSub
TAG POS=1 TYPE=SPAN ATTR=* EXTRACT=TXT SET !EXTRACT EVAL("'{{!EXTRACT}}'.replace(/,/g,'[EXTRACT]')")
Отредактировано Алим (15-09-2016 15:31:20)
Истина в последней инстанции
Отсутствует
Используйте поиск цифр с помощью регулярных выражений:
var Cifra = '2/3?7?9'; var num=Cifra.search(/\d/);//так ищем одинарную цифру /\d\d/-две и тд.
Отредактировано Sergey_yu (15-09-2016 15:46:00)
Отсутствует
подходит, когда только запятые.
Алим, прочтите свое сообщение выше:
Макрос извлекает текст такого формата 1,4,5,8
где там хоть слово об этом:
У меня на странице выдаёт цифры и между ними может быть запятые, слеш, знак вопроса 2/3?7?9
TAG POS=1 TYPE=SPAN ATTR=* EXTRACT=TXT SET !EXTRACT EVAL("'{{!EXTRACT}}'.match(/\d+/g).join('[EXTRACT]')")
? Скажет, что в переменной есть цифра?! А за чем? Вы задачу читали?
Отредактировано InfSub (15-09-2016 17:31:16)
Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox
на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!
Отсутствует
Что даст, в данном контексте, метод .search() ? Скажет, что в переменной есть цифра?! А за чем? Вы задачу читали?
Покажет расположение цифры, и соответственно можно ее извлечь, как вариант
Отсутствует