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

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.

№112-07-2016 22:29:29

outsider
Участник
 
Группа: Members
Зарегистрирован: 01-05-2016
Сообщений: 10
UA: Firefox 47.0

[РЕШЕНО] SAVEAS без двойных кавычек (")

Привет всем! Подскажите, как исключить из вывода в файл двойные кавычки (")?

Пробовал так:

.imm вариант

Выделить код

Код:

TAG POS=1 TYPE=OL ATTR=CLASS:trend-card__list EXTRACT=TXT
SET !EXTRACT EVAL("'{{!EXTRACT}}'.match(/\\d+/)[0];")
SAVEAS TYPE=EXTRACT FOLDER=D:\w\ FILE=fresh.txt

Получил ошибку .match(...) is null, line 7 (Error code: -1001)


.js вариант
Рассматривал такой вариант

Выделить код

Код:

iimPlayCode("TAG POS=1 TYPE=OL ATTR=CLASS:trend-card__list EXTRACT=TXT");
str = iimGetLastExtract(); str.substr(1); str.substr(0, str.length - 1); iimSet("str",str);
iimPlayCode("SET !EXTRACT {{str}}\nSAVEAS TYPE=EXTRACT FOLDER=D:\\w\\ FILE=fresh.txt");

но кавычки все равно добавляются


Заранее спасибо!

Отредактировано outsider (12-07-2016 22:32:29)

Отсутствует

 

№213-07-2016 00:03:19

Hamzat
Участник
 
Группа: Members
Зарегистрирован: 30-03-2015
Сообщений: 326
UA: Chrome 50.0

Re: [РЕШЕНО] SAVEAS без двойных кавычек (")

Этот вопрос обсуждался как минимум сотни раз, это стандарт iMacros, обойти это используя команду saveas (без изменение исходного кода) НЕЛЬЗЯ.

Альтернативный вариант на js

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

Выделить код

Код:

function log(data) {
    var file = Components.classes["@mozilla.org/file/local;1"].
        createInstance(Components.interfaces.nsILocalFile);
    file.initWithPath("D:\\testjs.txt");
    var foStream = Components.classes["@mozilla.org/network/file-output-stream;1"].
        createInstance(Components.interfaces.nsIFileOutputStream);
    foStream.init(file, 0x02 | 0x10 | null, 0666, 0);
    var converter = Components.classes["@mozilla.org/intl/converter-output-stream;1"].
        createInstance(Components.interfaces.nsIConverterOutputStream);
    converter.init(foStream, "UTF-8", 0, 0);
    converter.writeString(data);
    converter.close();
}


Но у этого метода есть несколько минусов
1 Нужно доработать код, если нет файла чтоб он его создавал
2 Добавить кроссплатформенность
3 Опять же доработать код  чтобы не было лишних переносов

P.S Естественно все это решаемо, только нужно изучить возможности xpcom, на что на данный момент времени не хватает. Если доработаю код выложу его на форум.


iMacros скрипты на заказ!

Отсутствует

 

№313-07-2016 00:23:33

outsider
Участник
 
Группа: Members
Зарегистрирован: 01-05-2016
Сообщений: 10
UA: Firefox 47.0

Re: [РЕШЕНО] SAVEAS без двойных кавычек (")

Hamzat
удалено, избыточное цитирование
правила, пункт 2.9

Спасибо большое за наводку!

InfSub

Отсутствует

 

Board footer

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