Страница 1 из 1

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

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

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

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

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

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

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

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

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

Добавлено: 19 ноя 2009, 15:47
h00k
мда..

Добавлено: 20 ноя 2009, 14:39
bigfozzy
<?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();
?>

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

не работает

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

Добавлено: 10 дек 2009, 14:55
Support
Вопрос с кликами будет решён в ближайшее время.

Добавлено: 11 дек 2009, 22:56
bigfozzy
вопрос решен в 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();
?>
этот код прокручивает полосу прокрутки

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