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

Mozilla Россия — свежие версии программ Mozilla, а также масса полезной информации по каждому продукту.

iMacros » [РЕШЕНО] Удаление верхней строки инструментами Imacros » 17-03-2017 23:38:38

Ramzes28, спасибо что читаете мой блог!

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

Удаление из файла первой строки и дальнейшее сохранение на iMacros+JS:
[spoiler][code]/*  HELPERS  */
var loadFile = function (fileName) {
    var fileDescriptor = imns.FIO.openNode(fileName);
    var text = imns.FIO.readTextFile(fileDescriptor);
    return {
        text: text,
        strings: text.split('\r\n') // стандартные символы перевода каретки и новой строки в текстовых файлах
    };
}

var saveToFile = function (fileName, text) {
    var fileDescriptor = imns.FIO.openNode(fileName);
    imns.FIO.writeTextFile(fileDescriptor, text);
}



/*  APPLICATION  */
var strings = loadFile("C:\\Users\\ReD\\Desktop\\login.txt").strings;
var Login = (strings[0]);
// Делаем что угодно с первой строкой
window.console.log(Login);

iMacros » [РЕШЕНО] Запуск макроса в ранее открытом браузере » 28-01-2017 21:10:28

Romstar08, можно.

Мой вариант сработает, если ты не используешь кастомные аргументы при запуске Firefox, например указание папки профиля.

Если сначала откроешь браузер, тыкнув на C:\Program Files (x86)\Mozilla Firefox\firefox.exe
А потом через любое время запустишь bat-файл, приведенный ниже, то откроется новая вкладка и в ней выполнится макрос.

Содержимое bat-файла для запуска скрипта в уже открытом браузере:

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

Выделить код

Код:

"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" imacros://run/?m="test.js"

iMacros » [РЕШЕНО] Визуальное изменение дисплея iimDisplay » 19-01-2017 20:44:11

TetraSky, действительно, работает только в не очень старой версии. Тестил на фф 35, селекторы правильно указаны, но стили не меняются, даже через фаербаг. Нужно ковырять.

update: Hamzat, отличное решение, в фф 35 работает!

iMacros » [РЕШЕНО] Визуальное изменение дисплея iimDisplay » 19-01-2017 16:13:13

TetraSky, я покопался немного под капотом, нашел решение, причем оно позволяет кастомизировать хоть весь сайдбар.
Будет время, напишу об этом статью:)

Я увеличил высоту окна сообщений и перекрасил фон и цвет шрифта, а вообще вы можете использовать любые CSS-стили.

Решение для кастомизации окошка сообщений в iMacros:

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

Выделить код

Код:

var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"] 
         .getService(Components.interfaces.nsIWindowMediator);
var mainWindow = wm.getMostRecentWindow("navigator:browser");

mainWindow.document.querySelector('#imacros-message-box').setAttribute("style", "height: 500px; background:black; color:green; font-size: 14px;");

iimDisplay("test message");

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

GalinaGalina покажите ваши скрипты в личку. Возможно, они капризничают.

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

udalov, странный баг, но если второй вариант работает корректно, то попробуй убрать двойные кавычки.
Скорей всего, для данной команды они не нужны и iMacros считает, что ты пытаешься присвоить некорректное имя файла и автоматически преобразовывает кавычки в пробелы.

Вот так:

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

Выделить код

Код:

iimPlayCode('ONDOWNLOAD FOLDER=C:\\papka\\ FILE='+w+'.jpeg\n TAG POS=1 TYPE=IMG ATTR=SRC:https:*&&CLASS:market_item_photo&&ID:market_item_photo CONTENT=EVENT:SAVEPICTUREAS');

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

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

У тебя используется цикл for, который вообще ничего не делает. Я догадываюсь какого эффекта ты хотел добиться, но учти одну вещь:
команда break выходит только из цикла for или while, и весь код после отработки цикла будет выполняться.

Сейчас этот код и этот цикл выглядит бессмысленно.

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

[spoiler][code]var k = iimPlayCode("SET !TIMEOUT_STEP 1 \n TAG POS=1 TYPE=H2 ATTR=TXT:Это<SP>закрытый<SP>аккаунт");

if (k < 0) {

    for (var z = 1;; z++;) {
        if (z > 9) break;
    }

    iimPlayCode(`
        SET !TIMEOUT_STEP 1
        TAG POS=1 TYPE=DIV ATTR=CLASS:_ovg3g&&TXT:
        WAIT SECONDS=1
        TAG POS=1 TYPE=SPAN ATTR=TXT:Нравится
        WAIT SECONDS=1
    `);

    // Альтернативный цикл
    var z = 0;
    while (z

iMacros » [РЕШЕНО] Как нажать кнопку TAB? » 30-11-2016 12:11:04

storming, с табом не все так тривиально, как с другими клавишами.
Вы уверены, что действие, которое вы хотите сделать нельзя реализовать другим способом, кроме как имитации нажатия на tab?
Напишите, в двух словах, какая у вас задача, желательно со ссылкой.

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

ts1000w, при помощи iMacros можно создавать новые профили Firefox.

Самый простой способ - это копирование текущего профиля в новую папку и после этого можно будет запустить FF с необходимыми параметрами для загрузки профиля.
Копирование папки можно реализовать через запуск внешней программы, а точнее командной строки с командой на копирование одной папки в другую + переименование.
Либо можно заморочиться с XUL и XPCOM - это более продвинутый уровень и требуется знание JS.

iMacros » [РЕШЕНО] POST запрос через imacros .JS » 28-11-2016 15:32:36

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

Поле для ввода капчи есть же?
Сделай там иммитацию нажатия клавиши Enter.

iMacros » [РЕШЕНО] POST запрос через imacros .JS » 28-11-2016 10:54:26

EverythingForYou, сомневаюсь, что у тебя получится отправка капчи через XMLHttpRequest. Во-первых, я думаю там нужно прописывать гораздо больше информации в headers. Твой запрос легко спалить, что он левый.
Если честно, не совсем ясно, для чего тебе нужна подобная отправка капчи, если ты используешь браузер и можешь сделать все по классике.

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

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

segunover в js есть функция scrollBy()

Ссылка на примеры использования scrollBy():


Впрочем, судя по скринам, нет необходимости в этой функции. Наверняка, можно просто по селекторам сделать клики.

iMacros » [РЕШЕНО] как в Js найти элемент на странице и нажать на него » 25-11-2016 12:57:13

petral2002,можно.
Только вместо "getelement" используй лучше "querySelector" - он более мощный и в нем можно указывать любые css-селекторы.

Примеры имитации клика мыши на Javascript:

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

Выделить код

Код:

// Кликнет по кнопке субмита
window.document.querySelector("input[type=submit]").click();

// Кликнет по элементу с id="sbm"
window.document.querySelector("#sbm").click();

// Кликнет по первому элементу с классом class="btn"
window.document.querySelector(".btn").click();

// Кликнет по второму элементу с классом class="btn"
window.document.querySelectorAll(".btn")[1].click();


Это не полный список возможностей, гуглите "css-селекторы", чтобы посмотреть все варианты.

iMacros » [РЕШЕНО] POST запрос через imacros .JS » 24-11-2016 13:40:56

EverythingForYou, аа, ясно.

Используйте так XMLHttpRequest:

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

Выделить код

Код:

var htp = new window.XMLHttpRequest();

iMacros » [РЕШЕНО] POST запрос через imacros .JS » 23-11-2016 18:13:47

Нужно больше деталей. На какой сайт вы отправляете POST-запрос?
Скорей всего вы отправляете кросс-доменный запрос на сервер, где CORS запрещены.

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

gost111, через FireBug посмотри, там 4 вложенных iframe, тебе сначала необходимо найти нужный, а потом в нем нажать на кнопку.
И, я почти уверен, что у тебя селектор картинки неверный. Во-первых, она точно там не под номером один идет(а у тебя "TAG POS=1"), и во-вторых там указан относительный путь(вот такой - "/img/knopkadoge.jpg").

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

Даниил955447112, в моем скрипте нету ошибки:)

Вы просто пароль не туда вставили. В том месте, где вы поменяли - его не нужно было трогать. Там так переменная просто называется.
Логин и пароль нужно было указать, только в этой части кода и больше ничего не менять:

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

Выделить код

Код:

APP.loginQiwi("+79115555555", "YourPassword");

iMacros » Автоматическая смена цепочки Tor (смена ip) » 20-11-2016 22:51:49

wonder.uix, да пожалуйста!

Кстати, твой костыльный вариант с использованием горячих клавиш тоже имеет место быть. Только реализуется он немного иначе.

Смена цепочки Tor при помощи имитации горячих клавиш Ctrl+Shift+L:

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

Выделить код

Код:

iimPlayCode('URL GOTO=http://nagibaka.ru');    
iimPlayCode('EVENT TYPE=KEYPRESS SELECTOR=* CHAR="L" MODIFIERS="ctrl,shift"');


Тут код тоже написан на js, но если убрать конструкцию iimPlayCode(), можно использовать и в обычных iim-макросах.

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

Даниил955447112, написал вам решение на JS+iMacros.

У Qiwi любопытная защита от ботов, даже в консоли пишут "Остерегайтесь мошенников".
Подмена value для инпутов не сработала + фачит встроенный валидатор ввода, поэтому скрипт получился чуть больше.
Ожидание формы реализовал не на "TAG WAITING...", а на таймаутах, это более надежное решение.

Тестил на FF35 - все ок, иногда вылезает рекапча.

Скрипт для входа в Qiwi-кошелек на iMacros+JS:
[spoiler][code]
var APP = {

    /**
     * Qiwi wallet authorization
     *
     */
    loginQiwi: function (login, password) {

        iimPlayCode('URL GOTO=https://qiwi.com');
        iimPlayCode('WAIT SECONDS=2');

        window.document.querySelector('[data-action=login]').click();   

        // Wait for submit form
        (function checkForm () {

            var phone = window.document.querySelector('input[name=login]');
            var pass =  window.document.querySelector('input[name=password]');

            if (ph

iMacros » Автоматическая смена цепочки Tor (смена ip) » 19-11-2016 22:27:38

Эвентовые события, да и любые другие подобные функции работают только в контексте текущего окна.

Вот держи крутое, безкостыльное решение для смены личности в Tor:

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

Выделить код

Код:

var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"] 
             .getService(Components.interfaces.nsIWindowMediator)
             .getMostRecentWindow("navigator:browser");        


// Пример использования
iimPlayCode('URL GOTO=https://whoer.net');
iimPlayCode('WAIT SECONDS=5');
wm.torbutton_new_circuit(); // Меняем цепочку соединения
iimPlayCode('URL GOTO=https://whoer.net');


Тут используется iMacros+Javascript, соответственно расширение твоего макроса должно быть ".js"

iMacros » [РЕШЕНО] Рандомное значение » 14-11-2016 17:10:04

Пример выше немного некорректен.

Для твоего случая конструкция будет такой.

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

Выделить код

Код:

Math.random() * (1.999 - 1.333) + 1.333


Если тебе необходимо получать число, скажем только с тремя знаками до запятой, можно немного изменить код и обернуть его в функцию.

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

Выделить код

Код:

function getRandom (min, max) {
  return parseFloat((Math.random() * (max - min) + min).toFixed(3))
}

// Использование
getRandom(1.999,1.333); // вернет произвольное число в указанном диапазоне

iMacros » [РЕШЕНО] Нужна универсальная функция работы с вкладками » 14-11-2016 16:36:29

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

Больше подробностей про баги команды "TAB T=1" можете почитать здесь  -

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


.

Файл test.js

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

Выделить код

Код:

var Tabs = {
 
    _browser: function () {            
        var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"] 
             .getService(Components.interfaces.nsIWindowMediator);        
        return wm.getMostRecentWindow("navigator:browser").gBrowser;
    }(),
 
    go: function (tabIndex) {
        this._browser.selectedTab = this._browser.tabContainer.childNodes[tabIndex - 1];    
    }
 
};


Вот пример использования:

[spoiler][code]
Tabs.go(1); // переход на первую вкладку
iimPlayCode("WAIT SECONDS=3");
Tabs.go(2);
iimPlayCode(

iMacros » [РЕШЕНО] InnerHTML возвращает 0 » 18-08-2016 20:47:27

Попробуй заменить content на window.

iMacros » полностью рабочий скрипт вдруг забастовал » 18-08-2016 05:33:30

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

Board footer

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