Здравствуйте!
Возможно ли при помощи Imacros, может быть в сцепке с программированием сделать следующее.

Imacros находит необходимое мне изображение на странице и кликает по нему, а нужно, что бы он кликал относительно изображения со смещением  х = 30 y=0

Есть идеи?

vik83
iMacros - не умеет определять координаты объектов

А джава скрипт может?

на сколько я знаю, js - не умеет определять координаты объектов (могу ошибаться), но если умеет, то - да возможно

imacros находит объект, задача кликнуть не по объекту, а с некоторой задаваемой сдвижкой.

vik83 пишет

imacros находит объект

не по координатам, а по параметрам, если же выставлены координаты для клика, он кликнет именно в определенную точку, не заботясь есть там что-то или нет, непосредственно определять расположение объекта "по координатам" имакрос/js не умеет

хорошо, допустим найдем объект, щелкнем по нему, затем щелкнем относительно объекта еще раз?

vik83
что конкретно вам не понятно? нельзя получить координаты объекта, нельзя сдвинуться относительно объекта на определенные координаты, т.к. нет координат первоначального объекта

vik83
А то место/обьект куда тебе тыкать нужно, нельзя как нить атрибуты/теги получить ?
Снифером проследи что на сервер после клика отправляется.

атрибуты/теги получить можно.

Суть такова браузерная игра, три картинки 1.5; 1.0 и 0.5 желательно найти картинку 1.5, после этого кликнуть на картинку ту, что расположена ниже.

Картинка не клибабельна, а кликабельна картинка та, что расположена ниже.

vik83
правила раздела iMacros, п. 1.2.4 - прочтите

Ну если это не будет рекламой, то вот :blush:

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

vik83 пишет

Ну если это не будет рекламой

а оформить ссылку, как это описано в правилах, сложно было?

01-04-2016 16:27:06
vik83
и комментарии где, что - где, какая картинка? на какую нажать требуется?

Это рабочий скрипт, в котором хочу улучшить эффективность выполнения.

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

Выделить код

Код:

TAB T=1
SET !ERRORIGNORE YES
TAG POS=2 TYPE=SPAN ATTR=TXT:Еще<SP>дуэль
TAG POS=2 TYPE=SPAN ATTR=TXT:Напасть
TAG POS=2 TYPE=SPAN ATTR=CLASS:mcorner&&TXT:
TAG POS=4 TYPE=SPAN ATTR=CLASS:mcorner&&TXT:
TAG POS=6 TYPE=SPAN ATTR=CLASS:mcorner&&TXT:


3 вариации поиска
скрытый текст

Выделить код

Код:

TAG POS=1 TYPE=DIV ATTR=TXT:x<SP>1
TAG POS=1 TYPE=DIV ATTR=TXT:x<SP>1.5
TAG POS=1 TYPE=DIV ATTR=TXT:x<SP>0.5


Задача, при нахождении
скрытый текст

Выделить код

Код:

TAG POS=1 TYPE=DIV ATTR=TXT:x<SP>1.5


кликать примерно со сдвижкой вниз на 30, если не находит - кликать на картинку ниже x<SP>1, при не нахождении - x<SP>0.5. После каждого поиска первым искать x<SP>1.5

vik83

один цикл атаки

Выделить код

Код:

SET !EXTRACT_TEST_POPUP NO

TAG POS=1 TYPE=DIV ATTR=CLASS:"small mb5*" EXTRACT=TXT
TAG POS=2 TYPE=DIV ATTR=CLASS:"small mb5*" EXTRACT=TXT
TAG POS=3 TYPE=DIV ATTR=CLASS:"small mb5*" EXTRACT=TXT
SET PW EVAL("'{{!EXTRACT}}'.replace(/\\[EXTRACT\\]/g,',').replace(/x|[ ]/g,'')")
SET !EXTRACT NULL

SET PW EVAL("var a='{{PW}}'.split(',');(a.indexOf(a.slice().sort().pop())+1)*2")

TAG POS={{PW}} TYPE=SPAN ATTR=CLASS:mcorner&&TXT:

Спасибо большое, значит это возможно!!!

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

Выделить код

Код:

VERSION BUILD=8961227 RECORDER=FX
TAB T=1
URL GOTO=http://elem.mobi/arena/
SET !ERRORIGNORE YES
TAG POS=2 TYPE=SPAN ATTR=TXT:Записаться
TAG POS=2 TYPE=SPAN ATTR=TXT:Записаться<SP>снова
WAIT SECONDS=25
TAG POS=2 TYPE=SPAN ATTR=TXT:Обновить
TAG POS=1 TYPE=DIV ATTR=TXT:x<SP>1.5
TAG POS=1 TYPE=DIV ATTR=TXT:x<SP>1.0
TAG POS=1 TYPE=DIV ATTR=TXT:x<SP>0.5

/// здесь мы ищем удар 1.5, если не находим, то нажимаем на кнопку сменить. 
Поиск продолжаем 3 раза (по количеству соперников), если не находим бьем - :x<SP>1.0, дальше опять ищем 1.5, 

Если не находим  ни 1.5, ни 1.0 - бьем 0.5

TAG POS=2 TYPE=SPAN ATTR=TXT:Сменить


Подскажите, как реализовать эту задачу.

код размещается в тегах code внутри спойлера

InfSub

InfSub, и еще вопрос. Как сюда встроить логический оператор.

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


Если встречается сильный противник, то мы нажимаем искать.

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

Выделить код

Код:

TAG POS=2 TYPE=DIV ATTR=CLASS:"сильный противник" EXTRACT=TXT
TAG POS=2 TYPE=SPAN ATTR=TXT:Искать<SP>еще


Если же слабый, то напасть

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

Выделить код

Код:

TAG POS=2 TYPE=DIV ATTR=CLASS:"слабый противник" EXTRACT=TXT
TAG POS=2 TYPE=SPAN ATTR=TXT:Напасть


В общем задача найти слабого противника и на него напасть.
код размещается в тегах code внутри спойлера
замечание

InfSub

vik83 пишет

значит это возможно!!!

возможно -указать/выбрать элемент, для нажатия, а не координаты для клика

vik83 пишет

Поиск продолжаем 3 раза (по количеству соперников), если не находим бьем - :x<SP>1.0, дальше опять ищем 1.5, Если не находим  ни 1.5, ни 1.0 - бьем 0.5

писать управляющий js-скрипт
iim-скрипты - не позволяют строить разветвленную логику, позволяя только выбрать одно из действий идентичных действий

vik83 пишет

Если встречается сильный противник

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

Выделить код

Код:

TAG POS=1 TYPE=DIV ATTR=CLASS:lf EXTRACT=TXT
SET ACT EVAL("~'{{!EXTRACT}}'.indexOf('Сл')?'н*':'и*'")
SET !EXTRACT NULL
TAG POS=1 TYPE=SPAN ATTR=CLASS:lbl&&TXT:{{ACT}}


02-04-2016 12:56:42
ответы на многочисленные вопросы по iMacros- и js-скриптам, есть в общей теме по iMacros'y - изучайте

Спасибо, до делал, теперь работает как часы!

Последняя просьба :)

Ищем

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

Выделить код

Код:

TAG POS=1 TYPE=DIV ATTR=TXT:x<SP>1.5


Если находим, то удар, если нет, то
скрытый текст

Выделить код

Код:

TAG POS=2 TYPE=SPAN ATTR=TXT:Сменить


код размещается в спойлере!, читаем правила раздела iMacros

InfSub

vik83
js only

02-04-2016 15:46:30
принцип, приблизительно такой

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

Выделить код

Код:

if(iimPlayCode('SET !TIMEOUT_STEP 0\nTAG POS=1 TYPE=DIV ATTR=TXT:x<SP>1.5 EXTRACT=TXT',iimGetExtract()=='#EANF#')){
    iimPlayCode('TAG POS=2 TYPE=SPAN ATTR=TXT:Сменить');
}else{
    iimPlayCode('код атаки');
};