Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 06.11.2014, 08:50
Новичок на форуме
Отправить личное сообщение для Vlesk Посмотреть профиль Найти все сообщения от Vlesk
 
Регистрация: 05.11.2014
Сообщений: 4

Сообщение от Poznakomlus Посмотреть сообщение
Aetae,
это как по точкам окна кликать? Элементы html (их классы) исполняются в браузере и им сообщение не отправишь в окнах. Ты не получишь идентификатор HWND которому тебе нужно послать сообщение. А так можно и молотком по экрану.
Тыкнуть по заданным координатам можно элементарно в делфях/c++. К примеру, см. в гугле про SetCursorPos() и Mouse_Event(). Если не знакомы, то кругозору ради рекомендую. Хотя бы будете представлять возможность, а может и в работе пригодится.
Вопрос скорее в том, как найти нужные координаты.

Я лично делал в делфях такой алгоритм нажатия кнопки:
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 нужных контролов, шире мыслить надо

Да, не изящно, но цель оправдывала средства.

Т.к. оба этих варианта делаются элементарно и любой школьник с мозгами, отличными от макаки, сможет до этого додуматься, и самое главное, сделать на коленке, то вот я и задумался об обратной ситуации - защите от таких решений.

Последний раз редактировалось Vlesk, 06.11.2014 в 09:10.
Ответить с цитированием
  #12 (permalink)  
Старый 06.11.2014, 11:50
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,199

Poznakomlus, тебя foo укусил?(или ты перелогиниться забыл?)
Вроде ты адекватный был...
__________________
29375, 35
Ответить с цитированием
  #13 (permalink)  
Старый 06.11.2014, 12:04
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,199

Poznakomlus, на своём компе человек может делать что хочет, что за глупости ты несёшь? WinApi не работает тоько потому что у веб страниц совершенно иная архитектура и разработчикам браузера нет никакого резона поддерживать костыли для совместимости.(кстати в ie6 ещё вроде пытались) Ничто не мешает эмулировать сам клик о чём и говорит оп.
Прикрепляю скомпилированный скрипт, который кликает по точке 200, 200 независимо от того какое приложение запущено:
Вложения:
Тип файла: zip AutoHotkey.zip (197.1 Кб, 5 просмотров)
__________________
29375, 35

Последний раз редактировалось Aetae, 06.11.2014 в 12:20.
Ответить с цитированием
  #14 (permalink)  
Старый 06.11.2014, 12:25
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,199

Poznakomlus, ты вообще читал что он пишет? Да с помощью winapi найти тот же div нельзя. Но, блядь, можно найти его тупо сравнивая картинку. Также можно найти его используя api самого, ебать его в интерфейс, браузера. Чего тебе не понятно?
__________________
29375, 35
Ответить с цитированием
  #15 (permalink)  
Старый 06.11.2014, 12:58
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,199

Poznakomlus, иди ка проспись.
__________________
29375, 35
Ответить с цитированием
  #16 (permalink)  
Старый 06.11.2014, 13:14
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Зароботался, был не прав

Последний раз редактировалось Vlasenko Fedor, 06.11.2014 в 13:17.
Ответить с цитированием
  #17 (permalink)  
Старый 06.11.2014, 21:23
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,719

Сделал свой браузер и нажимай там что хочешь. При чем тут делфи-мелфи - да в любом VB, WS все это имеется. Причем в VB есть готовый браузер с почти полным контролем за внутренностями и наружностями. Яндекс-браузеры так все и сделаны.

Так что нет смысла и думать как не дать кому-то нажать куда-то. Никому там нахер и не надо у вас нажимать. По определению.

И главное, откуда он вообще узнает кто нажал? Скрипт ему что ли расскажет? Ахуеть - так он уже выброшен и на его место вброшен другой. КОторый все и расскажет по-правде.

Последний раз редактировалось kostyanet, 06.11.2014 в 21:26.
Ответить с цитированием
  #18 (permalink)  
Старый 06.11.2014, 21:33
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,719

Кстати, я когда на JS еще не умел писать (на веб-JS в смысле) то применил кнопкожиматель на VB. То есть это был экзешник который открывал в браузере исходный код и парсил его. А поскольку дизайн не меняется годами то обучить прогу нажимать куда надо на том сайте согласно отпарсенным данным не составляло труда. Это был пиндец, в смысле по сравнению с тем, когда я все-таки заставил себя освоить веб-скрипты. Нахер там вообще куда-то нажимать - посмотрел какие заголовки уходят - отправляй такие же, со своими данными и смотри как ее колбасит.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Можно ли посылать нажатия клавиш контролу? Vornic Элементы интерфейса 1 21.12.2012 05:54
можно ли с помощью js написать код для симуляции нажатия на клавиш. KamalovRadik Мобильный JavaScript 7 17.02.2012 20:27
live click выполняется несколько раз hara jQuery 9 09.06.2010 09:58
Как можно избавится от повторного нажатия? ssh AJAX и COMET 4 23.02.2010 17:52