Полезная информация

Заказывай стафф с атрибутикой Mozilla и... пусть все вокруг завидуют тебе! Быть уникальным - быть с Mozilla!

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 21-02-2018 16:34:45

Squatter пишет

\s пробельный символ

знаю, но обычно оно и с обычным пробелом работает

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 21-02-2018 00:06:40

Squatter пишет

Ведь можно писать регулярки в SEARCH напрямую.

блин, это что выходит я зря все время обрезанием занимался :lol:
а с пробелами как его подружить ?? вместо пробела нужно точку ставить чтобы ошибки не было

скрытый текст

Выделить код

Код:

SEARCH SOURCE=REGEXP:"для.глобал([\s\S]+?)через" EXTRACT="$1"

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 20-02-2018 19:40:44

Squatter
для глобал можно через задницу сделать :)

скрытый текст

Выделить код

Код:

SET !VAR1 EVAL("\"{{!extract}}\".match(/(начало строки[\s\S]+)лишний текст/g, \"$1\").replace(/лишний текст/g, \"\");")

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 20-02-2018 16:30:03

Squatter пишет

Соответственно если так хочется задать границы поиска без их включения, то результат получаем так

ну так я это и хочу получить, но чисто в ймакросе
P/s : нашел решение

скрытый текст

Выделить код

Код:

Set !Var1 Eval("var exp = '{{!extract}}'.match(/(начало строки[\s\S]+)лишний текст/); exp[1];")


выводит только то что задано в захваченной группе

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 20-02-2018 16:03:57

InfSub пишет

[\s\S]* - "спасет вождя мирового пролетариата" (с) и ни чего подгонять не придется

не всегда подходит, например "какойто текст текст который нужен " так [\s\S]*(текст[\s\S]+) в груп 1 будет  "текст который нужен" , а так (текст[\s\S]+) "текст текст который нужен " , т.е. с [\s\S]* будет брать с последнего совпадения, а без него с первого

https://regexr.com/

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 19-02-2018 21:54:26

подскажите как вывести захваченную группу, раньше вроде так работало

скрытый текст

Выделить код

Код:

SET !VAR1 EVAL("var x=\"{{!EXTRACT}}\"; x=x.match(/лишний текст(начало нужного текста[\s\S]+конец нужного текста)лишний текст/g,\"$1\");")


а сейчас выводит все что подходит под match, а не только захваченную группу, через replace работает, но тогда весь лишний текст надо под регулярку подгонять

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 19-11-2017 15:56:53

InfSub пишет

stanny
Вы пришли сюда спорить или получить ответ на вопрос?

Я не спорю, я говорю про факты которые легко отследить. Память отжирается при использовании imacrosa, при стандартном использовании браузера с потреблением памяти все в порядке, даже если повторить в ручную что делает макрос. Получается тогда под imacros надо заводить отдельный браузер с нестандартными настройками.

Про код я уже писал, банальное зайти на страницу нажать кнопку, 2 строчки кода ( для теста ) ошибок там никаких быть не может.

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 18-11-2017 18:17:20

karginaolga пишет

а браузер можно убить и одной строчкой, все зависит от вашего кода

дело не в коде, попробуйте запустить элементарное действие зайти на страницу - нажать кнопку, в цикле на 50-100 раз и посмотрите сколько уходит памяти в самом начале и сколько спустя например 20 циклов, и эта цифра постоянно будет расти

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 17-11-2017 23:56:56

FastSpeed пишет

about:config

именно по imacrosy там настроек для памяти нет, только самого браузера

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 17-11-2017 20:19:09

прожорливость imacrosa можно как-то регулировать ??? банальное зайти на страницу и нажать кнопку в цикле после 50 уже больше гига озу высасывает и постоянно растет пока не упрется в потолок или не закончится работа макроса, при 200 мб при старте. Часто после 50 начинает тупить, может даже повиснуть из за нехватки озу, я то думал вначале что это сервер шалит.

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 25-10-2017 15:40:53

darkzp пишет

Подскажите что вы делаете в таких случаях.

просто меняю местами, чтобы скрипт начинался с таб 1

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 20-10-2017 18:54:53

googlenoob пишет

как мне запустить 10 раз весь скрипт

скрытый текст

Выделить код

Код:

for (a=1;a<=10;a++){
iimPlay("D:\\iMacros\\random-sites-ucoz-spam\\ test1.iim")
for (;;){
    if (iimPlayCode('TAG POS=1 TYPE=SPAN ATTR=TXT:Здесь условие и оно срабатывает')>0){ 
      iimPlay("D:\\iMacros\\random-sites-ucoz-spam\\ test3.iim")
    }  
else
{
iimPlay("D:\\iMacros\\random-sites-ucoz-spam\\ test2.iim",60)
break
}
}

}

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 16-10-2017 21:54:59

Aikyaira пишет

Макрос

как-то так

[spoiler][code]
for (i = 8; i < 9; i++)
{

var macroobsh;
macroobsh =  "CODE:";
macroobsh +=  "SET !DATASOURCE reformaobemku.csv" + "\n";
macroobsh += "SET !DATASOURCE_LINE "+i+ "\n";// из какой по счету строки брать данные
macroobsh +=  "TAG POS=1 TYPE=SPAN ATTR=TXT:Объемы<SP>по<SP>коммунальным<SP>услугам" + "\n";
macroobsh +=  "TAG POS=1 TYPE=DIV ATTR=TXT:Водоотведение" + "\n";
macroobsh +=  "TAG POS=r1 TYPE=A ATTR=TXT:Открыть" + "\n";
macroobsh +=  "WAIT SECONDS=1" + "\n";
macroobsh +=  "TAG POS=14 TYPE=DIV ATTR=CLASS:\"x-trigger-index-0 x-form-trigger x-form-arrow-trigger x-form-trigger-first\"" + "\n";
macroobsh +=  "TAG POS=1 TYPE=LI ATTR=TXT:\"{{!COL6}}\"" + "\n";
macroobsh +=  "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:totalVolume CONTENT=\"{{!COL7}}\"" + "\n";
macroobsh +=  "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:accruedConsumer CONTENT=\"{{!COL8}}\"" + "\n";
macroobsh +=  "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:paidByConsumersAmount CON

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 12-10-2017 20:31:59

stanny пишет

видимо в хрефе imacros только ссылки понимает

а нет )), первый вариант тоже рабочий, я просто точку с запятой в конце не дописал javascript:void(0);  :D

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 12-10-2017 20:16:08

Aikyaira
удалено, избыточное цитирование

так у меня сработало, видимо в хрефе imacros только ссылки понимает

скрытый текст

Выделить код

Код:

TAG POS=1 TYPE=DIV ATTR=TXT:Холодное<SP>водоснабжение
TAG POS=r1 TYPE=A ATTR=TXT:Открыть


код публикуется в тегах code под спойлером
замечание

InfSub

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 12-10-2017 19:35:04

Aikyaira

скрытый текст

Выделить код

Код:

TAG POS=1 TYPE=DIV ATTR=Class:x-grid-cell-inner*&&TXT:Холодное<sp>водоснабжение
TAG POS=R1 TYPE=A ATTR=HREF:javascript:void(0)


код публикуется в тегах code под спойлером

InfSub

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 10-10-2017 17:28:39

InfSub пишет

что мешает сделать prompt на js

а какая разница ? нужный функционал выполняет, и так сойдет :D

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 10-10-2017 16:58:57

нагородил тут короче, цикл в цикле, с кучей проверок на null, проставил iimset, чтобы кавычки везде не переделывать :)

[spoiler=колхозстайл][code]
for (a=1;a<=1;a++){

iimPlayCode("TAG POS="+a+" TYPE=IMG ATTR=SRC:https://www.........*\n TAG POS=1 TYPE=A ATTR=TXT:Атрибут\n");

for (i=1;1<2;i++){
iimSet("VAR0",i)
var macro;
macro = "CODE:";
macro += "TAG POS={{!var0}} TYPE=INPUT:TEXT FORM=ID:adminForm ATTR=NAME:attr_ean[] EXTRACT=TXT" + "\n";

iimPlay(macro)
var zapros = iimGetLastExtract(1)


if(zapros!=null & zapros!='#EANF#'){
iimSet("VAR1",zapros)   
iimSet("VAR0",i)
iimPlayCode("SET !ERRORIGNORE YES\n TAB T=2\n FRAME NAME=frSheet\n TAG POS=1 TYPE=TD ATTR=TXT:{{!var1}}\n TAG POS=R1 TYPE=TD ATTR=TXT:* EXTRACT=TXT\n TAB T=1\n");

var zapros1 = iimGetLastExtract(1)


if(zapros1!=null & zapros1!='#EANF#'){
iimSet("VAR2", zapros1)   
iimSet("VAR0",i)
iimPlayCode("TAG POS={{!var0}} TYPE=INPUT:TEXT FORM=ID:adminForm ATTR=NAME:attrib_price[] CONTENT={{!var2}}\n SET !EXTRACT NULL\n");
}
el

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 10-10-2017 16:41:34

InfSub пишет

не будет ошибочной

ну а при чем тут извлеченный текст и присвоенный текст, в сет конечно текст надо в кавычках, а экстракту пофиг на кавычки он и без кавычек выводит все правильно с пробелами

InfSub пишет

опять голословные рассуждения, что именно у вас работает не корректно?

ваш пост https://forum.mozilla-russia.org/viewto … 72#p695672

у меня уже все работает как надо, только пришлось прописать чтобы каждый экстракт из 4 проверяло чтобы не был null, функционалу от этого только лучше стало, чтобы не было не заполненных полей :)

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 10-10-2017 15:41:32

InfSub пишет

может и не быть примера записи iMacros-кода в js

в вики по js функционалу кроме iim... ничего нету. Родные переменные из imacros и js переменные записываются по разному, так что синтаксис тут разный. Вот пример из вики, PROMPT  Extracted<SP>data:{{!EXTRACT}}, по нему логично предположить что в js это будет выглядеть как iimPlayCode('PROMPT  Extracted<SP>data:'+a+'\n'); но это не так из за того что !EXTRACT по видимому сам подставляет <sp>, а после переноса в JS переменную и обратно он уже идет как простой текст с пробелами.

З.Ы. кстати может есть какой-то костыль чтобы извлекать var'ы, без того чтобы их загонять в экстракт и потом вытаскивать через iimGetExtract ( что при нескольких переменных работает не корректно )??  может какой-то iimGetVar0......imGetVar9 придумали ??

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 09-10-2017 22:55:29

InfSub пишет

текст содержащий пробелы должен быть обрамлен в двойные кавычки

я это знаю, но в таком виде вообще пишет ошибку, из за того что код в iimplay кавычках, любые другие кавычки кроме "+b+" ломают весь код и выдает ошибку

в вики и фак ничего нету про переменные из imacros в js и обратно, кроме iimset, но хочется переменную напрямую передавать, без пробелов все передается, с пробелами нет

скрытый текст

Выделить код

Код:

так не работает
iimPlayCode("PROMPT "Извлеченный текст"+b+"\n");

и так тоже
iimPlayCode("PROMPT "Извлеченный текст""+b+"\n");


З.Ы.
получилось так, но двойные кавычки почти везде поменял на одинарные
скрытый текст

Выделить код

Код:

iimPlayCode('PROMPT "Извлеченный текст '+a+'"\n');

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 09-10-2017 19:15:12

как текст из переменной imacros передать в JS и потом обратно в imacros ??

пример

Выделить код

Код:

var macro;
macro = "CODE:";
macro += "TAG POS=1 TYPE=INPUT:TEXT FORM=ID:admin ATTR=NAME:name EXTRACT=TXT" + "\n";

iimPlay(macro)

var b = iimGetExtract(1)

iimSet("VAR1",b)
iimPlayCode("PROMPT Извлеченный<sp>текст<sp>{{!VAR1}}\n PROMPT Извлеченный<sp>текст<sp>"+b+"\n")


var1 выводит правильно, а переменную b только до пробела, т.е если извлечено 111 все выводит правильно, если извлечено 111 222 var выводит правильно, а b выводит 111 и поле для ввода.

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]