- - send_right_click_to_flash_player
- send_click_to_flash_player
- send_mouse_move_to_flash_player
- get_mouse_pos_to_flash_player
По поводу данных функций напишу более подробно.
Данные функции посылают сообщение мыши окну adobe flash player. Это значит что заданное окно плеера без всякого участия реального курсора мыши будет получать клики мышки или перемещение её курсора. То есть можно без проблем использовать данные функции в многопоке.
-
send_right_click_to_flash_player - клик правой кнопки мыши
-
send_click_to_flash_player - клик левой кнопки мыши
-
send_mouse_move_to_flash_player - перемещение курсора мыши
-
get_mouse_pos_to_flash_player - функция конвертирования или получения координат относительно окна adobe flash player.
функции с параметрами имеют следующий вид :
Код: Выделить всё
$mouse->send_click_to_flash_player($x,$y,$flash_num,$bUseFlashXY=false);
$mouse->send_mouse_move_to_flash_player($x,$y,$flash_num,$bUseFlashXY=false);
$mouse->send_right_click_to_flash_player($x,$y,$flash_num,$bUseFlashXY=false);
$mouse->get_mouse_pos_to_flash_player($flash_num,$x="",$y="");
$x и
$y - координаты
$flash_num - номер flash player-a на странице.
$bUseFlashXY - использовать координаты браузера (false) или координаты окна flash player-a(true). По умолчанию false.
Координаты окна flash player-a можно получать используя функцию
$mouse->get_mouse_pos_to_flash_player($flash_num,$x="",$y=""); если $x="" и $y="", то функция получает координаты текущего положения курсора мыши. Если эти параметры заданны то функция конвертирует их относительно заданного окна плеера.
Советую использовать координаты окна flash player-a так как они не изменяются при изменениях размера страницы или после прокрутки страницы или если окно плеера не видно при переходе на страницу, если использовать координаты браузера то это надо учитывать.
По поводу определения номера нужного окна -
отсчёт окон как и для всех остальных элементов программы начинается с 0. Иногда на странице может быть несколько плееров и причём бывают и скрытые. В таких ситуациях для определения нужного окна советую использовать send_right_click_to_flash_player и номер плеера. Только тогда когда вы увидите контекстное меню именно в окне нужного вам плеера, значит вы правильно определили номер нужного вам окна.
пример скрипта:
Код: Выделить всё
<?php
$xhe_host ="127.0.0.1:7010";
// The following code is required to properly run XWeb Human Emulator
require("../Templates/xweb_human_emulator.php");
// перейти на сайт
$browser->navigate('https://xn--80awbbeioodeq4h3a.xn--p1ai/');
$browser->wait_for(60,1);
// конвертируем координаты браузера (из панели состояния программы)
// в коодинаты окна плеера - перед этим прокрутили браузер до окна плеера
// и навели курсор на треугольник - старт ролика.
echo $mouse->get_mouse_pos_to_flash_player(0,322,155);
// клик правой мыши
$mouse->send_right_click_to_flash_player(214,155,0,true);
// клик левой мыши - старт ролика
$mouse->send_click_to_flash_player(214,155,0,true);
// Quit
$app->quit();
?>
Все функции возвращают
true кроме $mouse->get_mouse_pos_to_flash_player, которая возвращает координаты в виде
"234,456".