$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>";
Баг left_button...
Баг left_button...
В $mouse->left_button_down/left_button_up если параметр $scroll равен true, происходит скролл в начало страницы
Разработка решений для автоматизации вашего бизнеса. Telegram: https://t.me/k90_7
Re: Баг left_button...
Вы тут системы координат путаете:
$scroll = true - это в координатах страницы
$mouse->get_x($in_browser=true,$virtual=false) - а это в координатах окна (без скролирования)
Перевести одно в другое можно добавим или отнять позиции скрола:
$browser->get_horizontal_scroll_pos();
$browser->get_vertical_scroll_pos();
$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>";
Re: Баг left_button...
В справке написано что координаты нужно указывать относительно левого верхнего угла браузера, то есть без учета скролла.
"$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
Это корректное поведение или я не правильно понял?
$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
Re: Баг left_button...
$mouse->left_button_down(100,100,false);
- не крутя скролл, нажимает в позиции 100,100, относительно окна браузера (без учета скрола)
$mouse->left_button_down(100,100,true);
- крутит скрол, так чтобы нажимать в позиции 100,100 относительно начала страницы (с учетом скрола)
- не крутя скролл, нажимает в позиции 100,100, относительно окна браузера (без учета скрола)
$mouse->left_button_down(100,100,true);
- крутит скрол, так чтобы нажимать в позиции 100,100 относительно начала страницы (с учетом скрола)
Re: Баг left_button...
Спасибо)
Разработка решений для автоматизации вашего бизнеса. Telegram: https://t.me/k90_7