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

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.
  • Форумы
  •  » iMacros
  •  » [РЕШЕНО] Удаление верхней строки инструментами Imacros

№117-03-2017 10:32:36

Ramzes28
Участник
 
Группа: Members
Зарегистрирован: 14-03-2017
Сообщений: 8
UA: Chrome 56.0

[РЕШЕНО] Удаление верхней строки инструментами Imacros

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

Я хочу:
Чтобы Imacros считывал мой txt файл и брал данные логин (первая колонка)/ pass (вторая колонка),
а затем удалял верхнею строку.

Текущий код выглядит так:

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

Выделить код

Код:

SET !DATASOURCE Login_pass.txt
    SET !DATASOURCE_LINE 1
    SET !DATASOURCE_COLUMNS 3
    SET USER1 {{!COL1}}
    SET PASS1 {{!COL2}}
    TAG POS=1 TYPE=INPUT:TEXT FORM=ID:check_form ATTR=ID:cabinet-login CONTENT = USER1 
    TAG POS=1 TYPE=INPUT:PASSWORD FORM=ID:check_form ATTR=ID:cabinet-password- CONTENT=PASS1


Мне бы не хотелось записывать в переменную весь текстовый документ
(например у меня там несколько тысяч пар логин/пасс).
Как мне удалить верхнюю строку?

Отредактировано Ramzes28 (17-03-2017 10:34:58)

Отсутствует

 

№217-03-2017 18:10:24

Ramzes28
Участник
 
Группа: Members
Зарегистрирован: 14-03-2017
Сообщений: 8
UA: Chrome 56.0

Re: [РЕШЕНО] Удаление верхней строки инструментами Imacros

Почитал, посмотрел, нет такой возможности.
Уважаемый форум, а на javascript как такое можно реализовать?
Я совсем недавно стал учиться js и для меня работа с массивами пока довольно сложна.

Появилась идея создания отдельных файлов логинов и отдельных паролей.

Взял за основу скрипт вот с этого сайта:

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


Скрипт:
скрытый текст

Выделить код

Код:

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 strings = loadFile("C:\\Users\\ReD\\Desktop\\login.txt").strings; // Массив строк
var Login = (strings[0]);
window.console.log(Login); 
delete strings[0];
window.console.log(Login);


Тут я немного решил добавить функцию удаления  (delete)
Но строка всё равно не стирается. Где я неправ?

Добавлено 17-03-2017 18:16:46
Придумал костыли. Ещё один текстовый файл, который будет перезаписываться и являться счётчиком указывая на номер строки откуда взять логин,
Но это жутко неудобно

Отредактировано Ramzes28 (17-03-2017 18:33:48)

Отсутствует

 

№317-03-2017 20:46:56

udalov
Участник
 
Группа: Members
Откуда: Россия
Зарегистрирован: 19-11-2014
Сообщений: 184
UA: Comodo_dragon 45.0

Re: [РЕШЕНО] Удаление верхней строки инструментами Imacros

А зачем удалять? И iim и js-скрипты  вполне могут считывать из файлов данные построчно.

Отсутствует

 

№417-03-2017 21:31:32

InfSub
iMacroModer
 
Группа: Moderators
Откуда: DeepTown
Зарегистрирован: 13-05-2013
Сообщений: 3319
UA: Firefox 51.0
Веб-сайт

Re: [РЕШЕНО] Удаление верхней строки инструментами Imacros

Ramzes28
нельзя удалить одну строку
можно удалить все и записать заново, но уже без ненужной строки, вот только поддержу вопрос udalov'a - зачем?


Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox


на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!

Отсутствует

 

№517-03-2017 23:38:38

Nagibaka
Участник
 
Группа: Members
Зарегистрирован: 08-03-2016
Сообщений: 24
UA: Chrome 56.0
Веб-сайт

Re: [РЕШЕНО] Удаление верхней строки инструментами Imacros

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

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

Удаление из файла первой строки и дальнейшее сохранение на iMacros+JS:

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

Выделить код

Код:

/*  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);

// strings - это массив, в JS полным-полно функций для работы с массивами
// Удаляем одним легким движением первый элемент в массиве строк
strings.splice(0, 1); // Удаляем из массива строк один элемент, начиная с первого(индекс=0)

saveToFile("C:\\Users\\ReD\\Desktop\\login.txt", strings.join('\r\n'));

// Метод join() превращает массив строк в текст и добавляет в нашем случае перевод строки между элементами массива
// ["одна", "строка"].join('\r\n') превращается в:
// "одна
// строка"


Продвинутые уроки по iMacros+Javascript смотрите на моем блоге(ссылка под аватаром).

Отсутствует

 
  • Форумы
  •  » iMacros
  •  » [РЕШЕНО] Удаление верхней строки инструментами Imacros

Board footer

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