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

Общайтесь со знакомыми и друзьями в нашем сообществе в Facebook.

iMacros » Флейм: Обход Капчи это разве не преступление » 06-08-2020 13:55:36

miltorg Вы ещё ничего не доказали и не сказали относительно того какие законы нарушает данный топик и вряд ли сможете. И ваш преждевременный нарочитый восторг с бугагашечками тут неуместен.

iMacros » Флейм: Обход Капчи это разве не преступление » 06-08-2020 12:25:50

miltorg пишет

Тут в открытую предлагают услуги по взлому сайтов.
А напишите конкретно ваши фамилии и конкретно - что вы предлагаете - неправомерный доступ к информации хранящейся на сайте с помощью взлома Капч.

Голубчик, бремя доказывания лежит на истце или стороне с притязаниями. Могу лишь вас уведомить, что существует ответственность за заведомо ложных донос, а также в ГК прописана недопустимость осуществления гражданских прав с намерением причинить вред другому лицу. Удачи.

iMacros » Флейм: Обход Капчи это разве не преступление » 06-08-2020 10:23:10

miltorg Так напишите заявление в полицию с жалобой, что кто-то безжалостно разгадывает вашу капчу. Когда получите официальный ответ "нет признаков уголовного правонарушения" вместе посмеёмся.
Раз прецедента по такому вопросу ещё не было, то вы ведёте беспредметный разговор. Попробуйте озвучить свою проблему на одном известном российском юридическом форуме. Там для людей, которые ничего не понимают в законах, но самоотверженно пытаются качать права, существует специальный раздел для любителей изобрести альтернативную теорию права. Если удача и там отвернётся, пишите сразу в спортлото ;)

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 26-06-2020 13:29:14

блин чот проблема возникает ...Не хотит принимать массив аргументов в

Не туда… совсем


Ладно, если передать объект по твоему способу с внедрением, то так
[spoiler][code]
var obj_inject = {
       
        'canvas':{
           
            'r': 0,
            'g': 3,
            'b': -4,
            'a': 2
        }
    };
   
   

var canvas_inject = function (obj) {
   
    const toBlob = HTMLCanvasElement.prototype.toBlob;
    const toDataURL = HTMLCanvasElement.prototype.toDataURL;
    const getImageData = CanvasRenderingContext2D.prototype.getImageData;
   
    var noisify = function (canvas, cont) {
       
        const shift = obj;
        const width = canvas.width, height = canvas.height;
           
        const imageData = getImageData.apply(cont, [0, 0, width, height]);
       
        for (let i = 0; i < height; i++) {
            for (let j = 0; j < width; j++) {
                const n = ((i * (width * 4)) + (j * 4));
                imageData.data[n + 0] = imageData.data[n + 0] + shift.r;
                imageData.data[n + 1] = imageData.data[n + 1] + shift.g;
                imageData.data[n + 2] = imageData.data[n + 2] + shift.b;

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 26-06-2020 09:09:01

Так в параметрах вызова же… :/

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

Выделить код

Код:

var obj_inject = {
	
	'canvas':{
		
		'r': 0,
		'g': 3,
		'b': -4,
		'a': 2
	}
};

var inject = function(obj) {
	
	window.console.log(obj)
 
};

inject(obj_inject);

В чём конечная цель?


---------UPD

Чем пытаться внедрять скрипт текстом лучше юзайте wrappedJSObject чтобы получить доступ к пространству имён скриптов текущей страницы


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

Выделить код

Код:

//В макросе выполняем
var win = window.content.document.defaultView.wrappedJSObject;

win.inject = function() {
	window.console.log("test");
};

//В консоле по Ctrl + Shift + k вызываем для проверки

inject();

iMacros » extract текста и преобразование его в числовой формат » 21-06-2020 21:51:12

BondM
Несколько классов элемента в данном методе указывается через точку вот так

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

Выделить код

Код:

var time = window.document.querySelector('.plyr__controls__item.plyr__time--duration.plyr__time').innerText;
window.console.log(time)

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

Выделить код

Код:

var time = window.document.querySelector('.plyr__controls__item.plyr__time--duration.plyr__time').innerText;
window.console.log(time)

var a = time.split(':'); 
var seconds = (+a[0]) * 60 + (+a[1]);
window.console.log(seconds);

iimPlayCode('WAIT SECONDS='+seconds);

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 13-05-2020 14:32:20

Gergi

Раньше решалось about:config

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

Выделить код

Код:

signon.autologin.proxy=true
network.websocket.enabled=false


Попробуйте это

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

iMacros » [РЕШЕНО] Imacros Js. iimPlayCode. CONTENT и символ перевода строки. » 05-02-2020 23:20:01

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

Выделить код

Код:

iimPlayCode('TAG POS=1 TYPE=TEXTAREA FORM=ID:write_form ATTR=NAME:message CONTENT=' + 'aaa<BR>bbb');


но лучше

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

Выделить код

Код:

content.document.querySelector("textarea").value="aaa\nbbb\nc c c";

iMacros » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2) » 24-10-2019 01:43:50

InfSub, я на цикл не смотрел, т.к. он там вообще неуместен в таком виде. Наличие try{...} catch{...} не смутило? ;)
А так, вполне обыденная практика генерировать так динамические регулярки.

Судя по коду ему нужно при листинге страниц извлекать из pathname уникальный ник и подставлять его в регулярку,
с помощью которой он собирает в массив ссылки со страницы соответствующие нужному паттерну включающему ник.
Естественно, конечно оптимально было бы сразу собрать в коллекцию все ссылки методом querySelectorAll('a'); и согласен по поводу test()

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

Выделить код

Код:

var arr = [];
var url = window.location.pathname.substr(1);
var nodes = window.document.querySelectorAll('a');
var re = new RegExp(url + '/status\\.\\d+', 'i');

for (i=0;i<nodes.length;i++) {
  var link = nodes[i].href;
  if (re.test(link))
    arr.push(link);
}

window.console.log(arr);

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

Алим
Примерно так

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

Выделить код

Код:

if(links.match(new RegExp(url + '/status.\\d+', 'i'))){
  массив.push(links)
}

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

Заранее в текст вбейте символ переноса строки в нужные места

Есть же примеры

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


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

Выделить код

Код:

var tx = ['Данное сообщение пишем с \nновой \n\n\nстроки'];

var txarea = window.document.querySelector('textarea[class^="message"]');
txarea.value = tx[0];

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

saurbeck

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

Выделить код

Код:

var text = ['Данное сообщение пишем с новой строки'];

iimPlayCode('TAG POS=1 TYPE=TEXTAREA FORM=ACTION:* ATTR=CLASS:message* CONTENT="'+ text[0].replace(/\s/g, '\r\n') +'"');

iMacros » Вытянуть данные при совпадении нескольких условий » 22-09-2019 12:06:33

И вам тоже дай бог здоровья (от агностика)! ;)
По поводу десктопа всё можно, есть множество гайдов, в том числе статей на хабре.
По запросу "desktop js" в выдаче гуугла много статей по этой тематике. Сам таким не занимался поскольку с JS мне на данный момент удобнее работать браузерно, где реализовано много технологий и API дающих дополнительный набор возможностей. Опять же иногда помогают готовые расширения для Firefox.

Но в любом случае для начала необходимо ознакомиться с основами javascript

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

И гуглить готовые примеры и рецепты на stackoverflow
Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст.


Успехов!

iMacros » Вытянуть данные при совпадении нескольких условий » 21-09-2019 18:28:04

Для отладки запроса

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

Выделить код

Код:

var http = new window.XMLHttpRequest();


В остальных случаях для работы запросов из макроса объявите вначале кода XMLHttpRequest
скрытый текст

Выделить код

Код:

var XMLHttpRequest = Components.Constructor("@mozilla.org/xmlextras/xmlhttprequest;1");

iMacros » Вытянуть данные при совпадении нескольких условий » 20-09-2019 18:57:56

Ваприанты:
- Токенизация
- Проверка рефёрера на сервере
- Отправка из средств разработчика не всегда корректно работает

Составляйте запрос вручную через конструктор XMLHttpRequest.

iMacros » Вытянуть данные при совпадении нескольких условий » 20-09-2019 13:36:14

В настройки инструментов разработчика зайдите и включите непрерывные логи "Enable persistent logs"


скрытый текст
Ap0rvSF.png

iMacros » Вытянуть данные при совпадении нескольких условий » 20-09-2019 03:40:01

Вы сами должны определить какие данные отправляются при взаимодействии со страницей и найти нужные запросы.
Потом пробуйте имитировать запрос через XMLHttpRequest с необходимыми заголовками и параметрами.
Не видя страницы перед глазами со всеми событиями и подключенными скриптами, помощь вам будет схожа с сеансом телепатии. Тут слишком много "если".

iMacros » Вытянуть данные при совпадении нескольких условий » 19-09-2019 18:20:56

Вы вначале запрос найдите, который идёт на сервер при изменении цены.
Хотя бы по фильтру XHR отсортируйте на панели.

iMacros » Вытянуть данные при совпадении нескольких условий » 18-09-2019 15:12:54

Выше ссылку давал о типе данных и преобразовании типов. Читайте до понимания.
Прежде чем осуществлять арифметические действия, убедитесь, что значения переменных приведены к правильному типу (number).

Вам уже объяснил аналогичную вашу ошибку


Как об стенку горох… :angry:

iMacros » Вытянуть данные при совпадении нескольких условий » 17-09-2019 23:50:19

Не гадайте. Потратьте 30 минут на изучение селекторов

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

Выделить код

Код:

window.document.querySelector('.form-control.price').value="Test input";


Ссылки вам уже выше дал и примеров масса.

iMacros » Вытянуть данные при совпадении нескольких условий » 17-09-2019 03:11:09

pricetax.match is not a function потому что pricetax у вас это уже число а не строка. Метод match() работает со строками а не числами

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

Выделить код

Код:

var pricetax = "8.496434";// Сейчас строка

window.console.log(pricetax.match(/\d+\.\d{2}/)[0]);

// Или преобразуем число в строку с помощью метода String()
var pricetax = 8.496434;// Сейчас число

window.console.log(String(pricetax).match(/\d+\.\d{2}/)[0]);


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

gødmøde пишет

проверка имени продавца, или идентификация себя по этому имени

Одним циклом всё это сортируете по условию в объект, а потом сравниваете.

iMacros » Вытянуть данные при совпадении нескольких условий » 16-09-2019 02:27:37

gødmøde пишет

ну дело в том что  мне не просто нужно получить самую верхнюю цену, а чтобы эта цена соответствовала моим критериям
1 data-server=9792
2 data-side=52
3 data-online=1

Вы плохо ознакомились с предложенными мануалами.

Пишете селекторы атрибутов без пробелов, чтобы получить только ноды соответствующие значениям data-server="9792", data-side="52" и data-online="1"

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

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

Выделить код

Код:

var nodes = window.document.querySelectorAll('[data-server="9792"][data-side="52"][data-online="1"]');
var arr = [];
for (i=0;i<nodes.length;i++) {
  var price = nodes[i].querySelector('.text-right>div').textContent;
  // Собираем в массив "arr" значения преобразованные к числу
  arr.push(+price.match(/[0-9.]+/)[0]);
}
// Отфильтровываем из массива "arr" минимальное число
var min_price = Math.min.apply(Math, arr);

// Смотрим в консоль
window.console.log(arr);
window.console.log(min_price);

Board footer

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