Нажать на кнопку в окне страницы браузера.

Обсуждение программ nnCron и nnCron LITE

Нажать на кнопку в окне страницы браузера.

Postby Aveiro » Sun, 23 Aug 2015, 14:40

Здравствуйте.

Социальные сети наступают, в сеть вконтакте ежедневно заходит по 20 миллионов человек. Это отступление )

Делаю автопостинг в одной группе сети вконтакте. Каждая запись на стене представляет собой страницу (окно) с своим номером. У каждой такой записи (окна-страницы) внизу есть ряд кнопок. Там есть кнопка ( Закрепить ). Нужно ее нажать (клик левой кнопкой мыши или Enter).

Задача такая:
Найти кнопку и отправить клик левой кнопкой мыши или Enter. Так как число прикрепленных записей меняется, то положение кнопки тоже меняется. Рисунок со свойствами окна и положением кнопки прикладываю.
Как найти кнопку ? Спасибо.

Кнопка:
http://s32-temporary-files.radikal.ru/3 ... 693455.jpg
nncron.exe v 1.93b15 Build 1177 08.02.2016
tm.exe v 1.93b15 Build 604 08.02.2016
Aveiro
 
Posts: 222
Joined: Tue, 06 Jul 2010, 21:19

Re: Нажать на кнопку в окне страницы браузера.

Postby VoidVolker » Sun, 23 Aug 2015, 14:48

Использовать пользовательский скрипт в браузере. Вообще, такие штуки уже давно автоматизированы и в сети полно готовых решений.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Нажать на кнопку в окне страницы браузера.

Postby Aveiro » Sun, 23 Aug 2015, 14:54

Я тоже думал, что давно автоматизированы и полно готовых решений. Однако найти не смог. Поддержка вконтакте тоже "отшила" мягко скажем.
А nnCron сможет ? Думаю и для других сайтов людям пригодилось-бы...
nncron.exe v 1.93b15 Build 1177 08.02.2016
tm.exe v 1.93b15 Build 604 08.02.2016
Aveiro
 
Posts: 222
Joined: Tue, 06 Jul 2010, 21:19

Re: Нажать на кнопку в окне страницы браузера.

Postby VoidVolker » Sun, 23 Aug 2015, 16:06

Не, ну можно конечно проверять цвет пикселей или делать скрин экрана и вырезать из него кусок, а затем распознавать текст. Если очень хочется кроном, то можно конечно еще сделать минимальную реализацию протокола HTTP (а то и вообще HTTPS), авторизоваться на сайте, распарсить страницу с формой и отправить POST-запрос с данными формы. Это все как минимум несколько тысяч строк кода.
Вот только на JS нажать нужную кнопку = вызов одной функции:
Code: Select all
$('#buttonId').trigger('click');

Аналогично делается и сабмит формы.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Нажать на кнопку в окне страницы браузера.

Postby Aveiro » Sun, 23 Aug 2015, 16:27

Я тоже шел путем сравнивания цветов пикселей. Решение сделано с помощью замечательной программы AutoClickExtreame, которая имеет функцию "пиксельный контроль" . НО к сожалению программа работает очень не стабильно и часто вылетает :? Вот и пришлось отказаться. Подумал, что nnCron может справиться. А оказывается весьма сложно. Наверное придется обратиться к джава программистам.
Задумка была с помощью Ctrl+Tab пробежаться по кнопкам, вытаскивать их названия и путем сравнения со словом "закрепить" найти нужную кнопку.
------
Код JS как вообще запустить, нужно компилировать в exe-шник, или можно запустить как код с помощью nnCron ?
nncron.exe v 1.93b15 Build 1177 08.02.2016
tm.exe v 1.93b15 Build 604 08.02.2016
Aveiro
 
Posts: 222
Joined: Tue, 06 Jul 2010, 21:19

Re: Нажать на кнопку в окне страницы браузера.

Postby VoidVolker » Sun, 23 Aug 2015, 17:22

Ннкрон тут вообще никаким боком, достаточно в браузере подключить юзер-скрипт. В разных по-разному - для хрома и фф надо ставить плагины, ибо современные браузеры не умеют из коробки поддерживать юзер-скрипты. А вот опера <12 - поддерживает.
Ннкрон, кстати, уже давно умеет пискели читать и скриншоты генерировать — есть GET-PIXEL, где-то тут на форуме был.
Code: Select all
WINAPI: GetPixel gdi32.dll
: GET-PIXEL  ( x y -- RGB )  \ Получить цвет пиксела на мониторе в координатах x y
  GetDesktopWindow DUP >R GetWindowDC DUP >R GetPixel R> R> ReleaseDC DROP
;
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56


Return to nnCron forum (Russian)

Who is online

Users browsing this forum: Bing [Bot], Exabot [Bot] and 2 guests