$mouse->click($x,$y);

Если вы обнаружили какие либо ошибки, недочеты и неудобства или другие незачеты в программе напишите нам об этом на этом форуме - мы бум исправлять
Закрыто
yaman
Сообщения: 32
Зарегистрирован: 23 ноя 2008, 01:33

$mouse->click($x,$y);

Сообщение yaman » 08 окт 2009, 11:58

кажеться, сабж не работает, если в момент клика под курсором нет ссылки
хотел кликнуть на полосу прокрутки, дабы промотать страницу вниз - нифига
хотел кликнуть просто по пустому месту страницы, дабы фокус перенести из поля ввода на body - аналогично, ничего

Аватара пользователя
Support
Site Admin
Сообщения: 1000
Зарегистрирован: 10 апр 2009, 17:45
Контактная информация:

Сообщение Support » 08 окт 2009, 14:20

$mouse->click($x,$y); - клик только по странице. Координаты курсора берутся из информационной полоски в нижнем правом углу программы. Чтобы кликнуть по какому-то элементу вне поля страницы, нужно использовать $mouse->click_to_screen($x,$y); Координаты получаем функциями $mouse->get_x(); и $mouse->get_y();

Сабж проверил - работает. Дело в чём-то ином. Координаты задаёте? :)

yaman
Сообщения: 32
Зарегистрирован: 23 ноя 2008, 01:33

Сообщение yaman » 08 окт 2009, 16:08

так я и кликаю по странице (полоса прокрутки - это элемент страницы)
координаты ессно задаю
попробуйте в гугле зайти на выдачу, чтоб полоса прокрутки появилась, и кликнуть по ней внизу за пределами ползунка, чтоб страница проехала вниз
у меня не вышло

Аватара пользователя
Support
Site Admin
Сообщения: 1000
Зарегистрирован: 10 апр 2009, 17:45
Контактная информация:

Сообщение Support » 12 окт 2009, 12:20

Полоса прокрутки - элемент браузера, увы. Клики по ней не воспринимаются.

yaman
Сообщения: 32
Зарегистрирован: 23 ноя 2008, 01:33

Сообщение yaman » 18 окт 2009, 18:47

> Полоса прокрутки - элемент браузера, увы
почему тогда координаты мыши отслеживаются и тогда, когда мыш на полосе прокрутки находится? стоит ей выйти за пределы страницы - отслеживание координат прекращается

ну ладно, а как быть с изменением фокуса элементов?
допустим, если курсор находится в поле ввода, и потом кликнуть на пустое место страницы, поле ввода теряет фокус (фокус получает элемент body)
при клике же в ХНЕ этого не происходит (мыш в указанные координаты перемещается, но поле ввода фокуса не теряет - значит клика нету)
тестировал на том же гугле

h00k
Сообщения: 3
Зарегистрирован: 06 ноя 2009, 16:55

Сообщение h00k » 06 ноя 2009, 21:26

yaman писал(а): допустим, если курсор находится в поле ввода, и потом кликнуть на пустое место страницы, поле ввода теряет фокус (фокус получает элемент body)
при клике же в ХНЕ этого не происходит (мыш в указанные координаты перемещается, но поле ввода фокуса не теряет - значит клика нету)
тестировал на том же гугле
К сожалению, и у меня подобная проблема присутствует.
Испытываю в связи с этим большие неудобства.
Хотелось бы что бы разработчики обратили на нее внимание.

h00k
Сообщения: 3
Зарегистрирован: 06 ноя 2009, 16:55

Сообщение h00k » 19 ноя 2009, 15:47

мда..

Аватара пользователя
bigfozzy
Site Admin
Сообщения: 3047
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Сообщение bigfozzy » 20 ноя 2009, 14:39

<?php
// The following code is required to properly run XWeb Human Emulator
require("../Templates/xweb_human_emulator.php");

// navigate to google
$browser->navigate("http://www.google.com");
// wait on browser
$browser->wait(1);

$input->set_focus_by_name("q");
$mouse->click(1,1);


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

а это работает ?

h00k
Сообщения: 3
Зарегистрирован: 06 ноя 2009, 16:55

не работает

Сообщение h00k » 06 дек 2009, 19:49

нет
в этом примере google автоматически выбирает поля ввода,после загрузки страницы.
заслуги human emulator'a тут нет.

Аватара пользователя
Support
Site Admin
Сообщения: 1000
Зарегистрирован: 10 апр 2009, 17:45
Контактная информация:

Сообщение Support » 10 дек 2009, 14:55

Вопрос с кликами будет решён в ближайшее время.

Аватара пользователя
bigfozzy
Site Admin
Сообщения: 3047
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Сообщение bigfozzy » 11 дек 2009, 22:56

вопрос решен в 3.0.17, можно скачать в папке загрузок программы - 3_0_17_beta

Код: Выделить всё

<?php
// The following code is required to properly run XWeb Human Emulator
require("../Templates/xweb_human_emulator.php");

// navigate to google
$browser->navigate("http://www.google.com");
// wait on browser
$browser->wait(1);

$input->set_value_by_name('q','поиск');
$button->click_by_name('btnG');
$browser->wait(1);

$mouse->click(933,382);


// Quit
$app->quit();
?>
этот код прокручивает полосу прокрутки

вроде по этой ошибке все.

Закрыто