Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нем неправильно. Необходимо обновить браузер или попробовать использовать другой.
Добрый день коллеги!
Ищу программу или скрипт на AI, который мог бы записать мои движения и клики мыши, а потом воспроизводить.
По форуму искал - не нашел.
Мне нужна для так называемых "интерактивных руководств", чтобы я мог записать действия, снабдить комментариями и элементами (стрелками и т.д.) на экране и сохранить в файл. А пользователь потом мог бы запустить и посмотреть, как это делается.
Может быть существуют готовые программы?
PS. Не уточнил. Мне нужно именно не просто перемещение мыши из А в Б, а именно запись "человеческих движений". Подобные темы встречал, но ответа не нашел.
P.S. А на выходе что должно получиться? Видеофайл или autoit скрипт или exe программа?
Если должно появиться видео то тебе нужна прога типо CamStudio...
Я не имею ввиду, что мне прям НУЖНА такая программа, а "я хотел бы видеть" или "я хотел бы создать" такую))
Добавлено:
Сообщение автоматически объединено:
На выходе должен быть скрипт, повторяющий ВСЕ движения, которые делал пользователь)) ну т.е. я могу "поводить мышкой" над каким нибудь элементом, для того, чтобы это было лучше видно, и т.д.
Т.е. не просто MouseMove.
Мало того, у MouseMove присутствует "сглаживание" при передвижении, что в данном случае не очень нужно...
Пока вижу решение как сохранение в файл данных о таймштампе, х, у с определенным "шагом дискретизации". При воспроизведении последовательно считываются данные, по разнице времени между двумя записями опытным путем определяется скорость перемещения мыши (0-100)... Но я больше чем уверен, такая реализация не позволит воспроизвести движение "точь в точь"
Добавлено:
Сообщение автоматически объединено:
Сделал некое "подобие" "на коленке".
По нажатию "нет" - пишет в файл время и координаты мыши каждые sleep(1). Сделал минимальным время для лучшей плавности.
Остановка скрипта по ESC.
При нажатии "Да" - воспроизводит содержимое файла.
Вроде работает, но мне не нравится. Во первых, неоптимизированная запись координат мыши в течение минуты занимает примерно 140кб, т.е. примерно 8 мегабайт за час "движения". Можно оптимизировать запись, путем "незаписи" пауз, когда мышь не двигается. Но значит нужно записывать команду "паузы" в файл и длительность паузы.
Для той цели, что я писал, наверное это не тот способ, которым нужно пользоваться.... Проще писать тайминг и целевые координаты мыши, а движение мыши "имитировать" под движение человека, как уже писали на форуме. А для того, чтобы привлечь внимание к какому нибудь элементу, можно написать функцию движения мыши по кругу, например...
Код:
Код:
Dim $f
Dim $ms, $x, $y
Dim $old_ms, $old_x, $old_y
Dim $speed, $k
Local $MousePos = MouseGetPos()
HotKeySet("{ESC}", "Kill")
Dim $line
Dim $str
; V = S / t.
Dim $aArray[100][100][100]
If MsgBox(4, "", "play mouse moving? If no then will write to D:\mouse.txt. Esc for exit") = 6 Then ; yes
$f = FileOpen("d:\mouse.txt", 0)
$line = FileReadLine($f)
$str = StringSplit($line, " ")
$old_ms = $str[1]
$x = $str[2]
$y = $str[3]
$old_x = $x
$old_y = $y
MouseMove($x, $y)
;msgbox (0, "", $ms & " " & $x & " " & $y)
While 1
$line = FileReadLine($f)
$str = StringSplit($line, " ")
$ms = $str[1]
$x = $str[2]
$y = $str[3]
$speed = len($x, $y, $old_x, $old_y) / ($ms - $old_ms)
MouseMove($x, $y, 1 / ($speed * 1400))
$old_ms = $ms
$old_x = $x
$old_y = $y
;ToolTip($speed, $x, $y)
WEnd
Else
While 1
$f = FileOpen("d:\mouse.txt", 1)
While 1
Sleep(1)
$MousePos = MouseGetPos()
FileWriteLine($f, TimerInit() & " " & $MousePos[0] & " " & $MousePos[1])
WEnd
WEnd
EndIf
Func Kill()
FileClose($f)
Exit
EndFunc ;==>Kill
Func len($x1, $y1, $x2, $y2)
Return Sqrt(($x2 - $x1) ^ 2 + ($y2 - $y1) ^ 2)
EndFunc ;==>len
Я же написал, Sleep(Х) приводит к определенной "дискретизации" при записи, максимум можно сделать Sleep(10).
При воспроизведении Sleep() не нужен, так как действия не должны прерываться.
Хочу добиться того, чтобы по времени запись и воспроизведение занимали одинаковое время... Чтобы было "точь в точь"...