понедельник, 5 июля 2010 г.

Функция графического поиска на странице

В версии 4.0.10 программы Human Emulator к объекту $webpage были добавлены две функции: get_x_in_webpage_picture и get_у_in_webpage_picture. Их появление прошло тихо и незаметно, но предоставляемыми возможностями они заслуживают отдельного описания.

Цель этих функций – находить координаты чего-либо по картинке образцу. Изображение на картинке автоматически сравнивается со скриншотом сайта, а при совпадении вычисляются и возвращаются координаты. Если нужный вам элемент «плавает» с каждым обновлением страницы или вы работаете с флешем, где довольно сложно составить скрипт, пользуясь только кликами по координатам, то эти функции помогут.

Для примера, давайте перейдём на страницу http://tinymce.moxiecode.com/examples/full.php и сделаем картинку-образец. Размер картинки особо не важен, функции вернут координаты первого полного совпадения (сравнение происходит по цвету и позиции каждого пикселя). Изображение нужно сохранить в расширении bmp и глубиной цвета 24 бит. Вот копия картинки, которую для опытов взял я: XHE

Теперь очередь скрипта. Получить координаты можно с помощью следующего кода:


require("../Templates/xweb_human_emulator.php");

$x=$webpage->get_x_in_webpage_picture("C:\\1.bmp");
$y=$webpage->get_y_in_webpage_picture("C:\\1.bmp");
echo "Координаты картинки: $x $y";

// Quit
$app->quit();
?>

Как вы догадались, картинку свою я назвал «1.bmp» и сохранил её в корневик диска C:. Теперь, после запуска этого скрипта, у нас будут её координаты. А имея координаты, можно легко по ним кликнуть функцией $mouse->click($x,$y); Добавьте её в скрипт, проверьте результат и поэкспериментируйте с другими образцами.

Таким образом, с помощью этих функций можно настроить работу с мышью вне зависимости от размеров окна браузера и расположения ключевых элементов.

  • Удобный функционал для сохранения картинок-образцов будет добавлен в ближайших версиях.
  • Можете смело скидывать любые свои соображения по поводу расширения данной возможности программы в аську техподдержки.

Комментариев нет:

Отправить комментарий

Примечание. Отправлять комментарии могут только участники этого блога.

Более подробно о программе, а так же ознакомительное видео Вы всегда можете найти на официальном сайте программы Human Emulator