Страницы: 1
Иногда зависает выполнение скриптов (скрипты .js крутятся в разных окнах при помощи циклов с разным временем ожидания WAIT). Связано ли это со стабильностью работы imacros'а или же при они каким-то образом могут нарушать работу друг друга (например, совпадает время при начале отработки очередного цикла)?
это уже обсуждалось.
есть 2 варианта: одновременный запуск нескольких профилей файрфокса или запуск из под нескольких пользователей.
у меня на обычном 2-ядерном процессоре 10 профилей FF одновременно работают постоянно.
зависание случается 1 раз в день или даже в несколько дней и только в одном из 10 профилей.
Ага а правда цсв не хочет сохранять с процентом перед числом...
тоже интересует данный вопрос, только не знак процента, а двойные кавычки - как правильно сохранять в csv, чтобы из этого: " csv не делал это: ""
совершенно верно! речь шла о том, что уже не работает:
тот функционал, что в нем был не работает уже около года, из-за изменений в самом FF
а если уже не работает, значит нужны варианты, каким другим инструментом заменить.
я написал о проверенном и несложном в освоении методе, который использую при необходимости.
если кто-то еще напишет о своем методе, тогда будет приятно, что посетители этого форума делятся собственным опытом, чтобы не изобретать велосипеды
вот в js есть такая функция, которая одной строкой создает локальную папку (только папку, без файлов внутри)?
для этих целей в библиотеке simple dom (для php) есть несколько удобных и очень простых функций - работает на денвере во всех нормальных браузерах и с локальными файлами и с файлами на web-сервере
По сути браузер не должен иметь возможности читать локальные файлы - это дыра в безопасности.
FF не только их прекрасно читает, но за пару секунд и полностью перезаписывает содержимое путем удаления и создания файла заново
Вы спросили, как сделать, чтоб imacros вставлял в форму тег <br> как текст
и получили тег <br> как текст
логично :D
если вы изначально имели ввиду как вставить в форму перенос строки, тогда наверное вам вместо <br> нужно \n (или \\n если в коде потребуется экранировать обратный слэш)
Как сделать, чтоб imacros вставлял в форму тег <br> как текст?
попробуйте так (в imacros не проверял, но при создании джаваскриптом xml-прайса точно работает)
гугл может подсказать вам о спецсимволах html:
< это <
> это >
спасибо, STEP работает как нужно.
InfSub, а как вы считаете, если установить SET !TIMEOUT_STEP 0, а при работе скрипта работают еще и другие программы и процессор загружен на 100 или почти 100%
возможно ли такое, что js-скрипт будет не всегда успевать выполнить команду и что-то пропустит из-за того, что таймаут 0
наверное лучше установить SET !TIMEOUT_STEP 1 секунду?
подскажите по оптимизации: запускаю один и тот же скрипт по очереди в 6 профилях браузера FF. профили абсолютно одинаковые: при создании нового профиля делалась копия уже существующего и менялся только путь с prof_1 на prof_2 и т.д.
когда в html-коде не найдена ссылка на изображение, то iMacros(для FF) запускает обратный отсчет: в одном профиле - от 6 секунд до 0, а во втором - от 3 секунд до 0.
создал 6 профилей и в каждом профиле этот отсчет может быть или 3 секунды или 6 секунд.
при парсинге 15000 изображений выходит солидная разница между 6 сек и 3 сек.
пробовал SET TIMEOUT TAG, но у меня эта команда не работает так, как нужно.
как в iMacros программно регулировать эту функцию, чтобы все профили считали только 3 секунды или лучше вообще 1 секунду?
Как добавить комментарий к видео на youtube в браузере FF?
нашел два работающих варианта, чтобы добраться до поле ввода комментария:
работает так:
еще пробовал так:
для проверки делаю так:
[spoiler]TAG POS=1 TYPE
macros = "CODE:SAVEAS ??? FOLDER=* FILE=my.csv";
iimPlay(macros);
Как считать данне при помощи макроса и если там тру или фалсе делать согласно ответу . И как можно внутри макроса увеличить переменню для исполения ?
реализовать это всё на JS с помощью if ... else и while
InfSub
[spoiler]как решить:
макрос кликает по ссылке и в новой вкладке открывается страница, которая содержит в себе 2 фрейма:
FRAME NAME="1" и FRAME NAME="2"
в первом фрейме показывается реклама, во втором фрейме - таймер.
в настройках защиты FF стоит галочка "Предупреждать при попытке веб-сайтов усатновить дополнения".
иногда бывает, что рекламный сайт в первом фрейме хочет сохранить на компьютер свой файл или приложение и на экране появляется окно с предложением сохранить приложение или отказаться и с кнопками ОК и Отмена.
из-за этого iMacros приостанавливается и ждёт пока пользователь нажмёт одну из двух кнопок.
если в настройках защиты FF убрать галочку, тогда по идее сайты будут без спроса устанавливать свои приложения на компьютер, заражая его таким образом всякой гадостью?
полностью запретить javascript в браузере нельзя, потому что перестанет работать таймер во втором фрейме.
как запретить выполнение скриптов только для сайтов в первом фрейме: FRAME NAME="1"
или как з
согласен, что запутывание, но ведь yinfo раньше написал, что с iMcaros только знакомится, а в JS соображает :-) вот мне и показалось, что человек быстро разберётся с интеграцией кода iim в JS
да, убрал в .iim-файле всё лишнее и заработало.
а применять JS только когда iMacros не справится - это если только примитивный макрос писать из нескольких строк.
велосипед, о котором вы пишете взят из работающего скрипта, который ищет такой кусок в html-коде страницы, который iMacros не определит и из этого куска вырезает всё лишнее. пару страниц назад обсудили этот вопрос с функцией replace.
в JS удобно с циклами работать, а скорость выполнения .js почти не отличается от .iim
InfSub
так не работает.
запускаю в макросе ваш код:
TAG POS=1 TYPE=TITLE ATTR=TXT:* EXTRACT=TXT
и проверяю, что сохранилось в EXTRACT:
PROMPT {{!EXTRACT}}
получаю результат
__undefined__
вы в iMacros запускаете файл с расширением .iim
и точно также вы можете запустить файл с расширением .js, который выполнит тот же код.
вот у вас в макросе с расширением FILE.iim такой код:
TAG POS=1 TYPE=A ATTR=HREF:https://www.mysite.ru* EXTRACT=TXT SAVEAS TYPE=EXTRACT FOLDER=* FILE=url.txt
macros1 = "CODE:TAG POS=1 TYPE=A ATTR=HREF:https://www.mysite.ru* EXTRACT=TXT\n"; macros1 += "SAVEAS TYPE=EXTRACT FOLDER=* FILE=url.txt\n"; iplay = iimPlay(macros1);
если вы запустите вот это:
TAG POS=1 TYPE=HEAD ATTR=HTM:* EXTRACT=HTM
в макросе FILE.iim, тогда в переменной EXTRACT вы получите результат: _undefined_
проверяется это выводом на экран содержимого переменной EXTRACT:
PROMPT {{!EXTRACT}}
а в примере, который
…вместо "url" хочу прописать этот самый заголовок вкладки, чтобы было понятно.
с помощью JS: сохраняете нужную вам часть кода страницы в переменную и обрезаете всё лишнее до и после того, что вам нужно.
заголовок страницы обычно находится внутри тега <title>, который в свою очередь внутри тега <head>:
macros1 = "CODE:TAG POS=1 TYPE=HEAD ATTR=HTM:* EXTRACT=HTM\n"; iplay = iimPlay(macros1); s1 = iimGetLastExtract(); s1 = s1.toString().replace(/<\/title>(.*)/,'').replace(/(.*)<title>/,''); alert(s1);
как решить:
макрос кликает по ссылке и в новой вкладке открывается страница, которая содержит в себе 2 фрейма:
FRAME NAME="1" и FRAME NAME="2"
в первом фрейме показывается реклама, во втором фрейме - таймер.
в настройках защиты FF стоит галочка "Предупреждать при попытке веб-сайтов усатновить дополнения".
иногда бывает, что рекламный сайт в первом фрейме хочет сохранить на компьютер свой файл или приложение и на экране появляется окно с предложением сохранить приложение или отказаться и с кнопками ОК и Отмена.
из-за этого iMacros приостанавливается и ждёт пока пользователь нажмёт одну из двух кнопок.
если в настройках защиты FF убрать галочку, тогда по идее сайты будут без спроса устанавливать свои приложения на компьютер, заражая его таким образом всякой гадостью?
полностью запретить javascript в браузере нельзя, потому что перестанет работать таймер во втором фрейме.
как запретить выполнение скриптов только для сайтов в первом фрейме: FRAME NAME="1"
или как запретить выполнение jav
-p Profile0 -no-remote
и так во всех открытых профилях FF: Profile0, Profile1, Profile2 и т.д., насколько хватит мощности компьютера :-))
yinfo это вопрос не о работе iMacros, а о запуске js-скрипта в html-коде.
и похоже на то, что вы пытаетесь 2 раза запустить start_scr(); - первый раз в html-файле и второй раз снова запускаете эту же функцию внутри скрипта SI-Run-Test.js
вариантов несколько:
1)
СтеклоНужно:2Есть:3 -> нужно только название
Что и куда написать, чтобы удалить всё, начиная с Н и вправо
ресурс1 = iimGetLastExtract(1); ресурс1 = ресурс1.toString().replace(/Нужно(.*)/,'');
SET !VAR1 EVAL("\"{{!EXTRACT}}\".replace(/(.*)rel=",/,\"\")
да, такой вариант подходит если немного подправить.
только здесь еще вот в чём проблема.
вот так работает:
SET !VAR1 "маша работает, а петя спит"
а так iMacros ругается об ошибке:
SET !VAR1 'маша работает, а петя спит'
то есть в iMacros (в отличии от JS и PHP) нельзя поместить строку в одинарные кавычки.
т.к. у меня внутри исходной строки уже есть двойные кавычки, то нужно предварительно их заменить на одинарные.
из этого: <div id="pager-top" class="pager pager-top" rel="2">
делаем это: <div id='pager-top' class='pager pager-top' rel='2'>
а потом уже присваиваем эту сроку переменной VAR1, то есть вот так должна выглядеть исходная строка после замены двойных кавычек на одинарные:
SET !VAR1 "<div id='pager-top' class='pager pager-top' rel='2'>"
и тогда уже обрезаем строку от начала до rel=' и от '> до конца,
поэтому, чтобы не сражаться с кавычками реализовать всё-таки лучше не в макросе через EVAL("
Здравствуйте.
подскажите, как решить небольшую задачу.
в html есть код:
в js-скрипте необходимо задать количество циклов выполнения макроса, равное значению именно этого атрибута rel, принадлежащему тэгу div с id равным значению pager-top.
отфильтровать по атрибуту rel не получается, т.к. кроме данного тэга div в html-коде есть и другие тэги div, имеющие свой атрибут rel
ну и такую запись EXTRACT=REL iMacros не понимает:
сделал так:
Страницы: 1