Баг left_button...

Если вы обнаружили какие либо ошибки, недочеты и неудобства или другие незачеты в программе напишите нам об этом на этом форуме - мы бум исправлять
Ответить
Аватара пользователя
k907
Сообщения: 322
Зарегистрирован: 21 май 2014, 20:32

Баг left_button...

Сообщение k907 » 20 апр 2020, 02:18

В $mouse->left_button_down/left_button_up если параметр $scroll равен true, происходит скролл в начало страницы
$browser->navigate("http://humanemulator.net/objects/DOM/in ... isible.php");
$browser->wait_for(60,1);

$p->set_focus_by_inner_text("Copyright © 2007-2015 humanemu", false);
sleep(2);

$mouse->left_button_down(100,100,$scroll = true); // происходит скролл  в начало страницы
//$mouse->left_button_up(100,100,$scroll = true); // тот же эффект 
sleep(2);

echo "x ".$mouse->get_x($in_browser=true,$virtual=false)." <br>";
echo "y ".$mouse->get_y($in_browser=true,$virtual=false)." <br>";

Разработка решений для автоматизации вашего бизнеса. Telegram: https://t.me/k90_7

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

Re: Баг left_button...

Сообщение bigfozzy » 20 апр 2020, 11:55

Вы тут системы координат путаете:

$scroll = true - это в координатах страницы

$mouse->get_x($in_browser=true,$virtual=false) - а это в координатах окна (без скролирования)

Перевести одно в другое можно добавим или отнять позиции скрола:

$browser->get_horizontal_scroll_pos();
$browser->get_vertical_scroll_pos();
$browser->navigate("http://humanemulator.net/objects/DOM/in ... isible.php");
$browser->wait_for(60,1);

$p->set_focus_by_inner_text("Copyright © 2007-2015 humanemu", false);
sleep(2);

$mouse->left_button_down(100,100,false); // работа с браузером без скролирования
//$mouse->left_button_up(100,100,$scroll = true); // тот же эффект 
sleep(2);

echo "x ".$mouse->get_x($in_browser=true,$virtual=false)." <br>";
echo "y ".$mouse->get_y($in_browser=true,$virtual=false)." <br>";

Аватара пользователя
k907
Сообщения: 322
Зарегистрирован: 21 май 2014, 20:32

Re: Баг left_button...

Сообщение k907 » 20 апр 2020, 12:30

bigfozzy писал(а):
20 апр 2020, 11:55
$scroll = true - это в координатах страницы
В справке написано что координаты нужно указывать относительно левого верхнего угла браузера, то есть без учета скролла.

"$x – x - координата точки, где нужно сделать нажатие, относительно левого верхнего угла браузера. (int)
$y – y - координата точки, где нужно сделать нажатие, относительно левого верхнего угла браузера. (int)"

http://humanemulator.net/objects/SYSTEM ... n_down.php


Пользователь выбирает координаты 100 / 100, на момент выполнения метода станица прокручена максимально вниз,
после выполнения left_button_down , $browser->get_vertical_scroll_pos() = 0
Это корректное поведение или я не правильно понял?
Screenshot_1.jpg
Screenshot_1.jpg (110.57 КБ) 560 просмотров
$browser->navigate("http://humanemulator.net/objects/DOM/in ... isible.php");
$browser->wait_for(60,1);

$p->set_focus_by_inner_text("Copyright © 2007-2015 humanemu", false);
sleep(2);
echo "vertical_scroll ДО: ".$browser->get_vertical_scroll_pos()." <br>";

$mouse->left_button_down(100,100,$scroll = true); // происходит скролл в начало страницы
sleep(2);

echo "vertical_scroll ПОСЛЕ: ".$browser->get_vertical_scroll_pos()." <br>";
Разработка решений для автоматизации вашего бизнеса. Telegram: https://t.me/k90_7

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

Re: Баг left_button...

Сообщение bigfozzy » 20 апр 2020, 12:37

$mouse->left_button_down(100,100,false);

- не крутя скролл, нажимает в позиции 100,100, относительно окна браузера (без учета скрола)

$mouse->left_button_down(100,100,true);

- крутит скрол, так чтобы нажимать в позиции 100,100 относительно начала страницы (с учетом скрола)

Аватара пользователя
k907
Сообщения: 322
Зарегистрирован: 21 май 2014, 20:32

Re: Баг left_button...

Сообщение k907 » 20 апр 2020, 12:39

Спасибо)
Разработка решений для автоматизации вашего бизнеса. Telegram: https://t.me/k90_7

Ответить