У кого будут проблемы. вот тут есть образец. Всё работает отлично
Как выбрать нужную картинку из трех одинаковых?
-
Суть задачи в следующем - Есть три одинаковых кнопки в браузерной игре. Когда выделяешь одну кнопку, как графический элемент и выбираешь "Кликнуть по элементу", БАС будет всегда находить и кликать по первой из найденых трех одинаковых кнопок. Как сделать, чтобы БАС кликал по второй или по третей?
-
@NikKey said in Как выбрать нужную картинку из трех одинаковых?:
Суть задачи в следующем - Есть три одинаковых кнопки в браузерной игре. Когда выделяешь одну кнопку, как графический элемент и выбираешь "Кликнуть по элементу", БАС будет всегда находить и кликать по первой из найденых трех одинаковых кнопок. Как сделать, чтобы БАС кликал по второй или по третей?
Удаляйте первые два
-
@denanotherday в программе вроде нельзя выполнить код на графическом элементе, нет такого пункта меню. Код можно выполнить на любом хтмл-элементе страницы, а у меня три кнопки внутри флэш-игры. Сама игра находится в контейнере
>CSS> canvasЯ могу удалить только весь этот элемент, т.е. окошко с игрой на веб-странице. -
@NikKey said in Как выбрать нужную картинку из трех одинаковых?:
@denanotherday в программе вроде нельзя выполнить код на графическом элементе, нет такого пункта меню. Код можно выполнить на любом хтмл-элементе страницы, а у меня три кнопки внутри флэш-игры. Сама игра находится в контейнере
>CSS> canvasЯ могу удалить только весь этот элемент, т.е. окошко с игрой на веб-странице.Посмотрите код страницы, кроме самого тега canvas наверняка найдутся html элементы внутри него.
А так конечно можно придумать костыль на чистой графике. Делаем скриншот всей страницы, находим в этом скриншоте координаты необходимой картинки, создаём html элемент, чёрный квадрат по размерам необходимой картинки и с её координатами. В итоге закрываем первый элемент цензурой
:D
Тестовый скрипт
Так же в теории, что бы сосчитать, сколько этих элементов на скриншоте, можно в цикле искать изображение в скриншоте и закрашивать их квадратом, разумеется увеличивая переменную-счётчик в цикле.
Поиск изображения идёт слева-направо (но это не точно) -
@Fox said in Как выбрать нужную картинку из трех одинаковых?:
Посмотрите код страницы, кроме самого тега canvas наверняка найдутся html элементы внутри него.
В том то и дело, что нет. Есть только контейнер canvas, в котором флэш игра и все, никаких элементов больше нет.
-
@Fox said in Как выбрать нужную картинку из трех одинаковых?:
Поиск изображения идёт слева-направо (но это не точно)
Это точно! :) Потому что нажимается всегда самая левая кнопка из трех.
Ладно буду думать, наверно, тогда, как через скриншот это реализовать. -
@NikKey Через Match Селектор сколь он видит ?
Если видит больше одного то и отсеять можно на нужные :)
Бывает и в Коде вроде нету Различий но копнёшь глубжи и они всё же есть :)
И опять же у кнопки должно быть описание и по ним тож можно найти. -
@super84 Да откуда внутри канвас может быть html разметка.
Тут только кликать по координатам, если кнопки статичные то проблем нет, а вот в противном случае придется напрячься немного ) -
@super84 Да какая разница, какая игрушка? :) Да я делаю автоматический сбор всех ништяков в ней и все рутинные операции, чтобы время не тратить на них. Но там нет дальше канваса никаких селекторов , ни Матч, ни Цсс, никаких. Просто окно канвас, а там дальше флеш игра, воспринимаемая браузером (программой) как картинка.
Тыкать просто по конкретным координатам - хорошая идея! Там положение вроде всегда одно и то же у них.
Просто я думал, что в программе есть некое стандартное решение такого вопроса, когда из двух или более совершенно одинаковых найденных объектов (картинок) можно просто выбрать нужный... а оказывается, что нет и приходится что-то придумывать самому. -
@NikKey Не может быть что бы 2 элемента были абсолютно идентичны и у них не было никаких идентификаторов. Иначе как сервер поймет что вы сделали? или тогда вся работа происходит на стороне клиента. Что весьма себе чреватодля сервера, а для вас зачем вам тогда вообще весь этот флеш и прочее? Но возможно по координатам и это идентификаторы. Или вы не все просмотрели.
-
Напишите свой модуль на основе действий модуля "Обработка изображений", алгоритм работы я выше описал:
@Fox said in Как выбрать нужную картинку из трех одинаковых?:
в цикле искать изображение в скриншоте и закрашивать их квадратом, разумеется увеличивая переменную-счётчик в цикле.
Собирайте все результаты в массив (координаты каждого элемента и его размер)
-
@f0cus said in Как выбрать нужную картинку из трех одинаковых?:
@UserTrue И? Значит идентификаторы это координаты. Правильно? Тогда зачем вы этот ликбез мне впариваете? Я такие вещи на пост гетах обхожу)) Потому что я ведь аккуратно написал про работу на стороне клиента.
У вас голова вспухнет реверсить игру
Много тут идентификатор видите?
https://jsfiddle.net/userTrue/534nofmr/А в реальной игре будет далеко не такой простой код
-
@UserTrue Нет, не ну первую да. А так 99% из них одинаковые скрипты скопом скидывают арбузу ну обсфуцируют конечно Те кто поумнее. А основная масса не заморачивается и максимум это переименовывают элементы под свои хотелки. Или скрипты делят на части.
раз вы дополнили то 64
реальные игры с флешкодом если я правильно понимаю данную задачу это разные бонусные свистоперделки и прочие сатошисниматели в буксах/кранах и прочих халявах. Ну еще разные промокоды. И вот они как раз будут такими как я и описал. Бо я их больше десятка разбирал просто для интереса. И это были совсем не домашние буксы были. А табачки например ну и так всякое.
upd Единственное что у крупных компаний какая никакая защита есть и резулт они клиенту не дают. Его вот надо запрашивать. Эта инфа на сервере. А у мелких я даже всю игру фактически встречал с резултом. -
Для таких случаев было бы круто добавить настройку "по номеру" в поиске изображения.
