Цитата:
Вопрос скорее в том, как найти нужные координаты. Я лично делал в делфях такой алгоритм нажатия кнопки: 1. Определить координаты нужной кнопки 1.1 снимаем скриншот окна программы, в которой открыт нужный сайт 1.2 находим координаты изображения нужной кнопки (тупой поиск одного BitMap в другом) 1.3 рассчитываем абсолютные координаты центра искомой кнопки 2. Тыкнуть мышкой 2.1 спозиционировать курсор по координатам из 1.3 2.2 послать клик мыши Лично у меня на реализацию такого метода ушёл один час. На несколько часов больше у меня ушло на другое решение (но это больше академический интерес, в реальных проектах используется обычно метод, описанный выше): 1. Определить координаты нужной кнопки 1.1 в TСhromium (для тех, кто не в курсе - это компонент хромиума для delphi) на js определяем координаты нужного контрола внутри окна браузера (хромиум в нашей программе на делфях) 1.2 по get-запросу шлём php-скрипту (сервер поднят локально) координаты контрола, php-скрипт их сохраняет в файл (не придумал я как лучше из js передать значения во внешний мир) 1.3 считать в нашей программе координаты элемента из 1.2, рассчитать абсолютные координаты центра искомой кнопки ... Вот я в двух словах описал целых два рабочих метода нахождения координат нужного элемента на веб-странице. Так что кто несёт херню ещё вопрос :) Не всегда нужны HWND нужных контролов, шире мыслить надо ;) Да, не изящно, но цель оправдывала средства. Т.к. оба этих варианта делаются элементарно и любой школьник с мозгами, отличными от макаки, сможет до этого додуматься, и самое главное, сделать на коленке, то вот я и задумался об обратной ситуации - защите от таких решений. |
Poznakomlus, тебя foo укусил?(или ты перелогиниться забыл?)
Вроде ты адекватный был... |
Вложений: 1
Poznakomlus, на своём компе человек может делать что хочет, что за глупости ты несёшь? WinApi не работает тоько потому что у веб страниц совершенно иная архитектура и разработчикам браузера нет никакого резона поддерживать костыли для совместимости.(кстати в ie6 ещё вроде пытались) Ничто не мешает эмулировать сам клик о чём и говорит оп.
Прикрепляю скомпилированный скрипт, который кликает по точке 200, 200 независимо от того какое приложение запущено: |
Poznakomlus, ты вообще читал что он пишет? Да с помощью winapi найти тот же div нельзя. Но, блядь, можно найти его тупо сравнивая картинку. Также можно найти его используя api самого, ебать его в интерфейс, браузера. Чего тебе не понятно?
|
Poznakomlus, иди ка проспись.
|
Зароботался, был не прав :)
|
Сделал свой браузер и нажимай там что хочешь. При чем тут делфи-мелфи - да в любом VB, WS все это имеется. Причем в VB есть готовый браузер с почти полным контролем за внутренностями и наружностями. Яндекс-браузеры так все и сделаны.
Так что нет смысла и думать как не дать кому-то нажать куда-то. Никому там нахер и не надо у вас нажимать. По определению. И главное, откуда он вообще узнает кто нажал? Скрипт ему что ли расскажет? Ахуеть - так он уже выброшен и на его место вброшен другой. КОторый все и расскажет по-правде. |
Кстати, я когда на JS еще не умел писать (на веб-JS в смысле) то применил кнопкожиматель на VB. То есть это был экзешник который открывал в браузере исходный код и парсил его. А поскольку дизайн не меняется годами то обучить прогу нажимать куда надо на том сайте согласно отпарсенным данным не составляло труда. Это был пиндец, в смысле по сравнению с тем, когда я все-таки заставил себя освоить веб-скрипты. Нахер там вообще куда-то нажимать - посмотрел какие заголовки уходят - отправляй такие же, со своими данными и смотри как ее колбасит.
|
Часовой пояс GMT +3, время: 07:43. |