симулировать движение мыши в php? - PullRequest
0 голосов
/ 12 октября 2010

Можно ли имитировать движение мыши в 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 на стороне браузера).

Ответы [ 6 ]

3 голосов
/ 12 октября 2010

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

2 голосов
/ 12 октября 2010

1 - используйте exec () и: Имитируйте движение мыши в Ubuntu .По сути, используйте любой другой язык, скомпилируйте его, если необходимо, и используйте исполняемый файл с аргументом во всей командной строке.

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

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

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

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

1 голос
/ 12 октября 2010

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

0 голосов
/ 14 января 2011

Это не так сложно. Посмотрите пример.

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

Трудная часть - это объект makeизбегать других предметов.

0 голосов
/ 12 октября 2010

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

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

чч

EDIT Следует также отметить, что если вы используете applecript stuidio, у вас есть доступ к цели c, которая позволит вам написать код для изменения положения мыши. но я не рекомендую это, пользователь должен управлять мышью, и ничто другое не должно

0 голосов
/ 12 октября 2010

+ 1 Ко всему, что было сказано ранее.

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

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

...