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

Будьте в курсе последних изменений в мире Mozilla, следя за нашим микроблогом в Twitter.

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (Часть 1) » 20-12-2015 23:10:35

PRESIDENT пишет
yinfo пишет

Но ведь мы можем запустить iMacros c помощью кнопки "Воспроизвести" и уйти на другие вкладки, при этом скрипт продолжает работать. Значит, iMacros запоминает текущее окно.

Нет нельзя, имакрос работает только в текущей вкладке.

Спасибо за внимание к моему вопросу!
Наверное, это как-то можно сделать, обходными путями:

1. изменив код расширения imacros (и лишив себя возможности обновлений);

2. используя управляющие скрипты iMacros для манипуляции вкладками Firefox, а эмуляцию нажатий возложить на какую-то стороннюю библиотеку, например jquery.
То есть от iMacros взять только возможность доступа к коллекции вкладок gBrowser.tabs, а уже страницей манипулировать с помощью jquery.

Но оба этих пути представляются достаточно трудоемкими.

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (Часть 1) » 20-12-2015 20:13:11

Как выполнить команду iimPlay() на неактивной вкладке (из управляющего Javascript)? Первый ответ, который приходит в голову - что это сделать нельзя. Ведь сначала нужно с помощью команды TAB активировать нужную вкладку и только потом вызывать iimPlay().
Но ведь мы можем запустить iMacros c помощью кнопки "Воспроизвести" и уйти на другие вкладки, при этом скрипт продолжает работать. Значит, iMacros запоминает текущее окно. Может можно это текущее окно как-то установить из управляющего javascript?

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (Часть 1) » 05-06-2015 13:36:20

Коллеги, нашел сервис и успешно использую его. Называется AudioRecorder. Позволяет записывать звук - клипа или всего того, что вам нужно. При открытии сайта вылезает окно - разрешить доступ к звуковой карте/микрофону - это я нажимаю руками -да, к звуковой карте. iMacros почему-то не работает с этим окном, или я ошибаюсь? А вот дальше, после ручного согласия, уже можно использовать iMacros: щелкнуть по значку микрофона, переключиться на вкладку с музыкой , как отследить окончание музыки не понятно, и сохранить файл на диск.

скрытый текст
Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст.


Собственно, вопрос - можно ли автоматизировать диалог выбора доступных устройств при открытии сайта?

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (Часть 1) » 19-04-2015 04:04:50

lsalex144 пишет

просто нужно проверить там есть картинка(каптча) или нету, ну и я решил что можно проверить таким способом как: если сохранится картинка(каптча) , значит картинка там есть, если не сохраниться -нету. Возможно немного сложно, но просто я новичок и не очень шарю в различных комбмнацыях.

18-04-2015 23:23:36
И если не сложно растолкуйте мне плз , что нужно вставлять в (..) после if, while, for, do  и т. д. , просто пишут в основном на примере цыфер. А как и какие команды подставлять даже не представляю.

Дружище, у нас есть вот такой выбор:
1. либо мы ждем прихода спецов, которые помогут тебе;
2. либо мы , два нуба, пытаемся сформулировать и решить твою проблему.

Мне кажется, у тебя чуть нарушена логика. Правильнее так:
Если нет капчи То
  делаем свое дело
Иначе
  запускаемРаспознаниеКапчиУИндусовЛибоРискуемСразуПолучитьБан

все зависит от сайта, который ты хочешь штурмовать)

Разработка » Расширение "Я хочу показать это своей маме" » 18-04-2015 23:51:00

okkamas_knife пишет

готовых сервисов для того чтоб делиться закладками over9000 погуглите и не изобретайте велосипед.
алсо база вобще лишняя, достаточно текстового файла, да просто заведите на любом блогохостинге пару аккаунтов, одним зафрендите другого и пишите френдс онли.
чтоб постить к себе ссылочки достаточно простой СВ кнопки а для чтения вообще ничего не надо.

Спасибо, что ответили мне.
Я хочу так написать свой маме.. чтобы 10 миллионов китайцев не постеснялись ответить своим мамам таким же способом.

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (Часть 1) » 18-04-2015 22:56:26

lsalex144 пишет

Привет всем!  у меня есть к вам вопрос. Как сделать так чтобы если картинка(каптча) сохранялась то страничка перезагружалась, и это действия началось заново,если нет то продолжалось действие. Сижу ломаю голову, нечего не выходит.

Приветы:)
pourquoi? (франц) - на кой?(русск)
Капча сохранялась.. кем, тобой? Расскажи, может всё проще)

Разработка » Расширение "Я хочу показать это своей маме" » 18-04-2015 22:12:56

Привет.
Решаю конкретную задачу: моя мама всего пару лет как увидела интернет. Сына видит раз в месяц - мы живем далеко друг от друга. Она открывает для себя интернет, я хочу иметь возможность делиться с ней полезными ссылками.

Хочу написать такой плагин(расширение?): на понравившейся мне странице нажимаю кнопку - ссылка заносится в базу. Свой логин забиваю один раз, он сохраняется в настройках. Мама при запуске FireFox один раз вводит логин (он сохраняется в настройках) - и видит рекомендованные ссылки.

Мой уровень : программист 1С 10 лет, XPCOM изучаю последние 6 месяцев. Основной вопрос: где можно захостить базу данных. Что-то я читал, что у Майкрософта какие-то базы данных можно хостить бесплатно.  Что скажете об этом? Можно ли реально где-то бесплатно захостить базу данных бесплатно для моих целей?

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (Часть 1) » 18-04-2015 14:02:21

Ломал голову над задачкой: как из одного управляющего JS загрузить другой JS и передать туда параметры.
Сам вызов делается легко - с помощью iimPlay, но вот передача параметров - это проблема. Не догадались создатели iMacros сделать что-то вроде iimPlay ( String macro [, int timeout] [,params]).
Test1.js -вызывающий скрипт, Test2.js - вызываемый скрипт (должен лежать в корне папки Macros).

Test1.js
[spoiler][code]function callFuncAnotherJS (jsName, funcName, params){
    iimPlay("CODE:URL GOTO=imacros://run/?m="+jsName+".js",60);
    var timer;
    var AnotherJS = imns.storage[jsName];
   
    var timeEvent = {
        observe: function(subject, topic, data) {       
            AnotherJS = imns.storage[jsName];
            if(!(AnotherJS==null)){
                timer.cancel();   
                timer = null;
                AnotherJS[funcName](params);
            }
        }
    }       
   
    if (AnotherJS == null){
        timer = Components.classes[

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (Часть 1) » 04-04-2015 12:25:33

InfSub пишет

если речь о запущенном скрипте, то проверять возвращаемые ошибки, либо файл прочитан, либо - ошибка

Я вот только сегодня ночью начал пробовать код, который мониторит папку на предмет наличия файла с параметрами:

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

Выделить код

Код:

var paramsFolder = "C:\\iMacros\\Macros\\params\\";
        window.setInterval(function(){            
            var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
            file.initWithPath( paramsFolder );
            var entries = file.directoryEntries;
            var array = [];            
            while(entries.hasMoreElements()){
            
                var entry = entries.getNext();
                entry.QueryInterface(Components.interfaces.nsIFile);
                array.push(entry);
            }            
            if (array.length>0){            
                /* Тут что-то делаем с файлами... */
            }
        }, 2000);


Что не нравится самому - это по-с

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

04-04-2015 12:00:39

InfSub пишет

yinfo, js, если не использовать различные хаки, не имеет доступа до файловой системы, иначе бы, вы уже давно лишились всей конфиденциальной информации просто зайдя на чей-либо сайт

Не спорю со специалистом, ибо я нуб, но вот работающий код, который читает локальный файл "D:\\scr.txt", причем с кириллицей:[spoiler][code]function toUnicode(charset, data){
    var uniConv = Components.classes['@mozilla.org/intl/scriptableunicodeconverter'];
    uniConv = uniConv.createInstance(Components.interfaces.nsIScriptableUnicodeConverter);
    uniConv.charset = charset;
    data = uniConv.ConvertToUnicode(data);
    return data;
};

function read(path) {

     var file = Components.classes["@mozilla.org/file/local;1"]
          .createInstance(Components.interfaces.nsILocalFile);
     file.initWithPath( path );
     if ( file.exists() == false ) {
          alert("File does not exist");
     }
     var is = Components.classes["@mozilla.org/network/file-input

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (Часть 1) » 04-04-2015 11:37:38

Aweron пишет
InfSub пишет

iMacros - не умеет считывать имена файлов в директории, только в ручную, если добавить весь список или переименовать все, и дать файлам имена от 1 одного до n, например: 1 2 3 ... 159... n, после чего запустить скрипт, используя цикл

Эх. А может можно, чтобы содержание папки он куда-нибудь записал, а потом эти данные использовал для вставки, без всяких переименований? Или еще какой хитрый вариант.

Не хитрый, но популярный вариант (как я понимаю) для iMacros: использовать управляющий JavaScript, который может и содержимое локальной файловой системы читать/писать и вызывать сам iMacros.

Разработка » Мониторить каталог локальной файловой системы из JavaScript? » 04-04-2015 11:22:24

okkamas_knife пишет

только постоянно опрашивать.  без вариантов.

А жаль.

okkamas_knife пишет

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

Спасибо за мысль про setTimeout, этот метод, ИМХО, действительно больше подходит для моей цели.

"до перезапуска браузера" - это было бы идеально, но у меня почему-то все не как у людей.. setTimeout в глобальном пространстве имен отсутствует, он в моем контексте исполнения (iMacros) существует только для двух объектов:
1.window.setTimeout()
и
2.WorkerGlobalScope.setTimeout()

С первым вариантом легкая трудность - window закрыли и setTimeout не работает (это и логично и проверил только что).
А что за зверь WorkerGlobalScope я пока так и не понял (источни

Разработка » Мониторить каталог локальной файловой системы из JavaScript? » 04-04-2015 00:02:41

При запуске FireFox загружается JavaScript, который должен мониторить заданный каталог локальной файловой системы на предмет появления в нём новых файлов .TXT.
При обнаружении файла .TXT JavaScript обрабатывает файл и удаляет.

Я пока реализовал самый тупой вариант, что пришел в голову  - использовать setInterval :

Выделить код

Код:

const Cc = Components.classes;
const Ci = Components.interfaces;
var paramsFolder = "C:\\iMacros\\Macros\\params\\";
window.setInterval(function(){            
    var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
    file.initWithPath( paramsFolder );
    var entries = file.directoryEntries;
    var array = [];            
    while(entries.hasMoreElements()){
            
        var entry = entries.getNext();
        entry.QueryInterface(Ci.nsIFile);
        array.push(entry);
    }            
    if (array.length>0){            
        /* Тут что-то делаем с файлами... */
    }
}, 2000);

Так как я  изучаю только FireFox XUL и Javac

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (Часть 1) » 02-03-2015 14:56:22

Сделал небольшое открытие - как в управляющем JS использовать функции из другого управляющего JS, играющего роль библиотеки функций.

Оказывается, в пространстве имен управляющего JS есть служебный класс imns со свойством imns.storage, возвращающим объект (тип wrappedJSObject) к которому можно определять функции и они будут доступны другим управляющим скриптам на всех окнах!

Создаем и запускаем скрипт "Библиотеки":

Выделить код

Код:

imns.storage.Test = function() {
    return "чудо всершилось!!!!!";
}

После этого выполняем другой скрипт с одной единственной строчкой:

Выделить код

Код:

alert(imns.storage.Test());

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (Часть 1) » 14-11-2014 12:31:34

Я отлаживаю несколько управляющих js скриптов, можно ли используемые в них мои функции вынести в один js файл, чтобы править в одном месте?

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (Часть 1) » 10-08-2014 00:48:15

kolshix пишет

от вы какие-то чудные, может за вами ещё в туалете подтирать , ну нахрена мозги эволюция сотворила?!!!!
1  ---  использовать команды Imacros     ONLOGIN USER=_____________   PASSWORD=_____________________
2  ---  использовать дополнения которые автоматически заполняют логин прокси и пароль прокси https://addons.mozilla.org/ru/firefox/a … src=search

Шеф, только спокойствие! Я как раз  основы изучаю. За совет спасибо.
PS а сайт, Яндекс тот же, не забанит если его с пяти вкладок с разных проксей анализировать?(Поиск или Маркет)  Без авторизации.

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (Часть 1) » 09-08-2014 17:33:57

kolshix пишет

Сбылась мечта * , моя мечта!)) искал долго и нудно, чувствовал задним местом, что где-то рядом ползаю.
Теперь по делу: imacros при смене прокси и завершении сценария в javascript, возвращается к настройкам которые были до смены прокси, а хотелось бы в нужный момент 1 раз включить прокси и чтоб оно к примеру работало до конца 3-го сценария, либо до нового переключения ! и вот на тебе :

[spoiler=немного оффтопа о прокси на js ]iim

Выделить код

Код:

URL GOTO=about:config

JS ---- главное оставить верхнюю строчку и строчку включения прокси и удалить ненужные ниже (зависит от вида прокси) и установить нужные числа
[code]
var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);

// manual proxy configuration
prefs.setIntPref("network.proxy.type", 1);

// use the proxy server for all protocols
prefs.setBoolPref("network.proxy.share_proxy_settings", true);

// HTTP Proxy
prefs.setCharPref("network.proxy

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (Часть 1) » 20-07-2014 01:42:41

На сайте знакомств mamba.ru не получается выбрать страну и город.
Приведенный ниже код открывает список выбора, курсор позиционируется на стране "Россия", но нажатия не происходит.
Помогите, пожалуйста, разобраться.

Выделить код

Код:

VERSION BUILD=8820413 RECORDER=FX
TAB T=1
URL GOTO=http://www.mamba.ru/search.phtml?t=a&sz=b&ia=F&lf=M&af=19&at=36&s_c=3159_0_0_0&target=
TAG POS=1 TYPE=SELECT FORM=ACTION:/search.phtml ATTR=NAME:s_c CONTENT=%1_1_1
WAIT SECONDS=5
TAG POS=1 TYPE=SELECT ATTR=NAME:countryId CONTENT=$Россия

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (Часть 1) » 19-05-2014 03:32:04

Сам спросил и сам ответил :) Как из javacsript с помощью imacros сохранить в текст произвольное значение.

Выделить код

Код:

iimSet("i",123);   
iimPlay("CODE:SET !EXTRACT {{i}}\n SAVEAS TYPE=EXTRACT FOLDER=C:\\ FILE=hiprsites.txt");

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (Часть 1) » 18-05-2014 22:19:18

Sborka пишет

macros = "CODE:SAVEAS ??? FOLDER=* FILE=my.csv";
iimPlay(macros);

Ав какое место вставить ii_myvar, которое и надо сохранить? :(

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (Часть 1) » 18-05-2014 22:03:18

Как с помощью iMacros сохранить данные, полученные в javascript? Как я понимаю, javascript внутри FireFox не имеет возможности писать во внешние файлы.

Выделить код

Код:

var myvar = "Строка, которую надо сохранить";
iimSet("ii_myvar", myvar};//передали строку в iMacros
macros = "SAVEAS ??? FOLDER=* FILE=my.csv";
iimPlay(macros);

Как подправить этот код (??? в строке №3) или вообще написать по-другому, чтобы чтобы записать в my.csv  "Строка, которую надо сохранить"?

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (Часть 1) » 17-05-2014 14:21:40

Sborka пишет

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

с помощью JS: сохраняете нужную вам часть кода страницы в переменную и обрезаете всё лишнее до и после того, что вам нужно.
заголовок страницы обычно находится внутри тега <title>, который в свою очередь внутри тега <head>:

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

Выделить код

Код:

macros1 = "CODE:TAG POS=1 TYPE=HEAD ATTR=HTM:* EXTRACT=HTM\n";
iplay = "Shivaki" "hid=90594"(macros1);
s1 = iimGetLastExtract();
s1 = s1.toString().replace(/<\/title>(.*)/,'').replace(/(.*)<title>/,'');
alert(s1);


для данной страницы форума получаем:  iMacros | Форум Mozilla Россия.
зависит от того, что прописано в шапке <HEAD> того сайта, над которым хотите издеваться

Вы предложили вариант, когда я работаю в JS и вызываю iimPlay.

А я, наоборот, нахожусь в IMacros. Код примерно такой:

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

Выделить код

Код:

TAG POS=1 TYPE=A ATTR=HREF:https://www.mysite.ru* EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER=* FILE=url.txt


во

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (Часть 1) » 17-05-2014 13:11:05

Подскажите, как с помощью Imacros получить заголовк текущей вкладки?
Зачем: вот мы бродили по сату, нашли что-то интересное и хотим сохранить все ссылки с помощью

Выделить код

Код:

SAVEAS TYPE=EXTRACT FOLDER=* FILE=url.txt

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

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (Часть 1) » 15-05-2014 15:54:04

Sborka пишет

yinfo пишет: -p Profile0 -no-remoteи так во всех открытых профилях FF: Profile0, Profile1, Profile2 и т.д., насколько хватит мощности компьютера  :-))

Именно так :-) А чтобы мощности хватило, вместо FF использовать  Pale Moon, который кушает оперативку и проц примерно на 30% меньше.

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (Часть 1) » 15-05-2014 14:46:25

Уважаемый Sborka, мой вопрос: как при старте FireFox запустить управляющий JavaScript файл SI-Run-Test.js  из демонстрационных скриптов iMacrosa.
По запуску обычных  js-скриптов в html-коде вопросов нет.
Не удается именно запустить демо-скрипт.

Вопрос решил так: скрипт можно добавить в закладки. Копируем ссылку и вставляем в строку запуска. Получилось вот что:

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

Выделить код

Код:

"C:\Program Files\Mozilla Firefox\firefox.exe" imacros://run/?m=Demo-Firefox%5CSI-Run-Test.js  -p Profile0 -no-remote

Board footer

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