Что нового

Как нажать flash (флеш) кнопку?

Автор
U

uninstall

Осваивающий
Сообщения
52
Репутация
31
С библиотекой для FireFox ничего не вышло, она работает несколько некрасиво, блокируя управление мышью. Но решение я все же нашел используя библиотеку IE.au3 (Реально помогли ответы Vovsla)
Код:
Local $oQuery = _IEGetObjByName($oIE, "workcode4")
$oQuery.SetVariable("/:itext.text", "123")
$oQuery = _IEGetObjById($oIE, "workcode4")
_IEAction($oQuery, "focus")
ControlSend ('Windows Internet Explorer','','','{TAB 2}')
ControlSend ('Windows Internet Explorer','','','{ENTER}')

Решение найдено, всем спасибо
 
Автор
U

uninstall

Осваивающий
Сообщения
52
Репутация
31
В конечном итоге пришлось уйти от решения в посте № 21, так как работает нестабильно, вопрос решил методом подделки http запроса, генерируемого flash кнопкой, как советовал EL Panda в посте № 1, за что ему большое спасибо.
P.S. Структуру генерируемого flash кнопкой http запроса узнал путем ее декомпиляции. Для этих целей использовал программы Sothink SWF Decompiler и Flash Decompiler Trillix последних доступных версий. Обе программы разобрали исходный код практически одинаково.
 

El Panda

Продвинутый
Сообщения
101
Репутация
59
uninstall [?]
.S. Структуру генерируемого flash кнопкой http запроса узнал путем ее декомпиляции. Для этих целей использовал программы Sothink SWF Decompiler и Flash Decompiler Trillix последних доступных версий. Обе программы разобрали исходный код практически одинаково.

Как вариант можно отлавливать запрос любым http сниффером, куда проще чем разбирать флешку.
 
Автор
U

uninstall

Осваивающий
Сообщения
52
Репутация
31
El Panda сказал(а):
Как вариант можно отлавливать запрос любым http сниффером, куда проще чем разбирать флешку.
Можно, я использовал и этот метод, для проверки того, что декомпилировал, так как оба варианта совпали, я сделал заключение, что все сделал правильно
 

bulldog5293

Знающий
Сообщения
172
Репутация
10
то есть я как понял при post get запросах мышка не используется, а используется только клавиатура? И вобще, сколько я прочетал веток вашего форума по post get там для меня на мой взгляд инфы мало, где можно полную инфу почитать?
 
Автор
U

uninstall

Осваивающий
Сообщения
52
Репутация
31
Что конкретно интересует по post и get запросам?
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,605
Репутация
941
bulldog5293 сказал(а):
то есть я как понял при post get запросах мышка не используется, а используется только клавиатура? И вобще, сколько я прочетал веток вашего форума по post get там для меня на мой взгляд инфы мало, где можно полную инфу почитать?
Например найти, изучить, перевести на русский при необходимости или написать самому и выложить для всех, чтобы они смогли почитать? Нэ?
34.gif
 

bulldog5293

Знающий
Сообщения
172
Репутация
10
ну зайду на сайт, авторизируюсь, получу куки,отправлю, а как дальше по ссылкам переходить или запретить заход по ссылкам с различными надписями(именно надпесями, а не отрессам)
 
Автор
U

uninstall

Осваивающий
Сообщения
52
Репутация
31
То есть вопрос стоит так: "Как осуществлять серфинг по ссылкам после логина на сайте?"
Если да, то для этого используется модуль IE.au3, как с ним работать можно прочитать в русском мануале по autoit, если же в 2-х словах, то там есть функции поиска ссылок на странице и функции захода на них. Для всех действий используется Internet Explorer. На мой взгляд - это самый простое решение данного вопроса, так как не надо задумываться о том, как передавать куки со страницы на страницу при серфинге, Explorer все сделает сам
 

bulldog5293

Знающий
Сообщения
172
Репутация
10
Belfigor
Например найти, изучить, перевести на русский при необходимости или написать самому и выложить для всех, чтобы они смогли почитать? Нэ?
Да даже это, просто примеры со входом и кукесами есть, а как дальше с сайтам и его ссылками работать нету.
uninstall
Цитата
То есть вопрос стоит так: "Как осуществлять серфинг по ссылкам после логина на сайте?"
Если да, то для этого используется модуль IE.au3, как с ним работать можно прочитать в русском мануале по autoit, если же в 2-х словах, то там есть функции поиска ссылок на странице и функции захода на них. Для всех действий используется Internet Explorer. На мой взгляд - это самый простое решение данного вопроса, так как не надо задумываться о том, как передавать куки со страницы на страницу при серфинге, Explorer все сделает сам
неподходит так как сайтов много должно быть открыто, а IE будет жрать и систему и траф, а это не good для того у кого сеть медленная
 
Автор
U

uninstall

Осваивающий
Сообщения
52
Репутация
31

bulldog5293

Знающий
Сообщения
172
Репутация
10
Dj? совсем другое дело, ща буду разбираться, чё там и как, спс за направление. Позже какие ни будь прикалюхи выложу:smile:
 
Автор
U

uninstall

Осваивающий
Сообщения
52
Репутация
31
В этом моем посте http://autoit-script.ru/index.php?topic=169.msg27536#msg27536 во вложенном файле содержать реализация функции get (файл HTTPCapcha.au3, функция _HTTPGet_captcha) и функции post методом base64 (файл HTTPPost_files_modif.au3, функция _HTTPPost_files). Данные функции отправляют лишь запросы, чтобы считать ответ сервера необходимо использовать функцию типа такой
Код:
Func _HTTPRead_($socket = -1)
#cs ----------------------------------------------------------------------------
	Errors:
		1 - соедиене закыто сервером
		2 - таймаут получения данных
	Returns:
		полученные данные
		0 - в случае ошибки
#ce ----------------------------------------------------------------------------
	Local $recv
	Local $data
	Local $end_data_flag = @crlf & '0'
	
	If $socket == -1 Then
		If $_HTTPLastSocket == -1 Then
			SetError(1)
			Return 0
		EndIf
		$socket = $_HTTPLastSocket
	EndIf

	Local $timer = TimerInit()

	While 1
		Sleep(10)
		$recv = TCPRecv($socket,16)
		If @error == 0 Then
			If $recv <> "" Then
				$timer = TimerInit()
				$data &= $recv
			EndIf

			If StringInStr($data, $end_data_flag) Then ExitLoop

			If TimerDiff($timer) > $_HTTPRecvTimeout Then
				SetError (2)
				Return 0
			EndIf
		EndIf
	WEnd
	Return $data
EndFunc
 

EGRUP

Новичок
Сообщения
5
Репутация
0
Мне вот тоже понадобилось нажать флеш кнопку. Только можно и кликом мыши.

Но проблема в другом - Кнопка может быть активной(можно нажать) и неактивной(нельзя нажать).

Есть ли какие-то наработки по поводу этого вопроса, если для каждой флеш-программы этот "индикатор" активности кнопки разный, то подскажите как его узнать, если можно то скиньте пожалуйста ссылку на инструкцию по разборке флеш, или как там это называется?

А после этого как в АвтоИт реализовать проверку активности - какой оператор может из флеша достать нужный мне код?
 
Автор
U

uninstall

Осваивающий
Сообщения
52
Репутация
31
Чем распотрошить флеш написано здесь в постскриптуме http://autoit-script.ru/index.php?topic=341.msg5009#msg5009
Как установить свойства флеш объекта написано здесь http://autoit-script.ru/index.php?topic=341.msg2878#msg2878 возможно этим же способом можно организовать нажатие флеш, но мне не удалось.
Рекомендую использовать решение отсюда http://autoit-script.ru/index.php?topic=341.msg2249#msg2249, возможно тебе подойдет решение отсюда http://autoit-script.ru/index.php?topic=341.msg4153#msg4153
 

SUN-CHA

Новичок
Сообщения
8
Репутация
2
Хм, возможно немного не в тему, но - чем вас не устраивает использование встроенных скриптов для Оперы или Greasemonkey с firebaug'ом для Firefox'a?? Ничего не блочится, всё работает в фоновом режиме и флеш разбирается за пару минут! Post и GET запросы - так это вам к Charles! ИМХО autoit слишком громоздок для использования его в web! Цирк развели с какими то библиотеками.
з.ы.
И не надо мне говорить, что "придётся учить php" и т.д. Если вы не представляете, как отправлять нажатие мышкой в фоновом окне - значит и autoit вы знаете посредственно.
з.ы.з.ы.
Это не г.вно-пост, и я не хочу никого обидеть. Это моё видение выхода из проблемы и ни к кому лично в этом посте я не обращаюсь.
 
Автор
U

uninstall

Осваивающий
Сообщения
52
Репутация
31
SUN-CHA сказал(а):
Хм, возможно немного не в тему, но - чем вас не устраивает использование встроенных скриптов для Оперы или Greasemonkey с firebaug'ом для Firefox'a?? Ничего не блочится, всё работает в фоновом режиме и флеш разбирается за пару минут!
Java не знаю, так что мне вариант с greasemonkey не подходит, а Оперой не пользуюсь

SUN-CHA сказал(а):
И не надо мне говорить, что "придётся учить php" и т.д.
Кстати PHP скрипт реальное решение проблемы, вот если бы его и скомпилировать можно было ....

SUN-CHA сказал(а):
Если вы не представляете, как отправлять нажатие мышкой в фоновом окне - значит и autoit вы знаете посредственно.
Выложи код, как щелкнуть на flash кнопку в скрытом окне IE
 
Верх