2010-10-12 2 views
-2

Можно ли моделировать перемещение мыши в PHP? Я имею в виду сделать что-то вроде:имитировать перемещение мыши в php?

$mouse->moveToCoordinate($x,$Y); // will move the screen to to the coordinate $X, $Y of the screen 
$mouse->moveVector($x,$Y); // will move from the current point to the (current X + $X, current Y + $Y); 
$mouse->click(); // will simulate a mouse click on the screen. 

Это должно быть полезным, даже если ни один браузер не работает (поэтому не может использовать классическую сторону браузера Javascript решения).

+15

PHP = сервер, мышь = клиент, так что просто нет. Я даже не думаю, что это возможно в Javascript –

+3

, даже если браузер не открыт ?! что вы пытаетесь автоматизировать, что вы не можете автоматизировать с помощью программирования? Звучит немного сомнительно для меня, зачем вам нужно передвигать кого-то по экрану и щелкать что-то без их открытия браузера? –

+3

IMO действительный вопрос, хотя ответ «не может этого сделать». Какую цель вы пытаетесь выполнить? Может быть, это может быть сделано по-другому ... – Piskvor

ответ

1

Как упражнение. Возможно, можно создать автономное настольное приложение PHP, имеющее доступ к указателю пользователя. Для этого вам нужно использовать привязки, такие как http://gtk.php.net/ (были привязки Qt некоторое время назад, но проект кажется мертвым). И даже это может быть сложно. В настоящий момент PHP-GTK плохо документирован.

+0

Спасибо за предложение GTK, я об этом не думал. – Cedric

4

PHP является языком сценариев на стороне сервера и не может этого сделать. Вы должны сделать это с помощью Javascript. Это можно сделать с PHP (напишите необходимый Javascript в PHP и отправьте клиенту). В большинстве решений в реальном времени используется AJAX, но вы по-прежнему испытываете задержки в обратном направлении в зависимости от скорости клиента.

+1

Я знаю это. PHP также может использоваться как CLI, поэтому не требуется с сервера. И, как я уже сказал, я ищу решение, которое не должно использовать браузер в первую очередь. Некоторые библиотеки могли быть разработаны для расширения возможностей PHP. – Cedric

+1

Наиболее запутанными понятиями для тех, кто закодировал автономные приложения, когда они переходят на кодирование веб-приложений, является «обратная связь с сервером и клиентом». Как долго вы работаете в веб-приложениях? – Xaqron

+0

более года Xaqron. – Cedric

0

+1 Все, что было сказано ранее.

Я добавлю, что требуется более подробная информация о цели. В зависимости от того, что вы действительно хотите (нажмите, чтобы сделать что? На что? И т. Д.), Вы все равно можете использовать cURL для доступа к странице, разбора и последующей ссылки на нужную вам ссылку (если это ссылка, которую вы хотите нажмите ...), введите всю форму и отправьте ее и т. д. Вы можете получить доступ к html-коду и сохранить его в файле на своем сервере (если это то, что вам нужно.) и т. д. и т. д.

В любом случае, как все говорят, PHP является серверной, и, даже как CLI, вам нужно иметь сервер на вашем локальном хосте, и он просто выполнит скрипт PHP, PHP, который не имеет доступа к мыши/движение мыши и т. д. без клиентского языка, такого как javascript.

+1

Возможно, я ошибаюсь, но/usr/bin/php не нуждается в сервере для запуска. Это автономное приложение. http://php.net/manual/en/install.unix.commandline.php – Cedric

1

1 - использование exec() и: Simulate mouse movement in Ubuntu. В принципе, используйте любой другой язык, скомпилируйте его, если это необходимо, и используйте исполняемый файл с аргументом в командной строке.

2 - PHP-QT может сделать трюк

| ВОЗМОЖНО !!! |

Люди предложили использовать другой язык (javascript), но для этой проблемы использовать браузер невозможно. Так что другие языки будут делать трюк.

Спасибо за ваше сообщение, и , если у кого-нибудь есть другие решения, мне было бы интересно узнать их.

+0

И позорить парня, который нажал кнопку «этот вопрос непонятен или не полезен» для моего вопроса: D (извините за этот бесполезный комментарий - :)) – Cedric

+0

@ Cedric: Поскольку вы используете PHP совершенно необычным способом, было бы целесообразно указать на то, что вы писали большими буквами в своем вопросе. Если кто-то видит PHP в названии вопроса, вполне понятно, что они подумают, что вы пишете веб-приложение, что делает вопрос непонятным. – Douglas

+0

@ Дуглас: Даже если я упоминаю, что «браузер не открыт», исключая все приложения/страницы, ориентированные на браузер, я _thank you_ для вашего комментария, поскольку я понимаю, почему люди упускают из виду «Это можно использовать, даже если браузер не открыт (так не может использовать классическое решение javascript). " – Cedric

0

ИМХО Я думаю, что вы собираетесь делать все, что бы вы ни пытались сделать неправильно. Невозможно управлять пользовательской мышью, если вы не используете какое-то приложение для удаленного рабочего стола, так как это будет проблемой безопасности.Тем не менее, я мог бы сделать предположение, как некоторые возможные вещи, которые вы могли бы сделать

  1. набор фокус на объекте Использование JavaScript
  2. клик-то Использование JavaScript 3 записи и AppleScript (если на компьютере Mac), чтобы нажать что-то в искатель или автоматизировать процесс

НТН

EDIT также следует отметить, что если вы используете AppleScript stuidio вы ВГА e доступ к объекту c, который позволит вам писать код, чтобы изменить положение мыши. но я не рекомендую, чтобы пользователь контролировал мышь, и ничего больше не должно было

0

Это не так сложно. Look example.

Вы можете легко отредактировать его и отправить HTTP-запрос AJAX для позиций x, y и return xstart->x, ystart->y.

Жесткая часть - это объект, чтобы избежать других объектов.

Смежные вопросы