почему send_keyboard_input совершает нажатие Enter

Все вопросы касающиеся использования
программы можно задать здесь
Ответить
mende11eev
Сообщения: 14
Зарегистрирован: 17 июл 2014, 22:14

почему send_keyboard_input совершает нажатие Enter

Сообщение mende11eev » 19 июл 2014, 21:40

В этом небольшом скрипте:
<?php

$xhe_host ="127.0.0.1:7000";

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

$key=file("us.txt");
$keycount=count($key);
$rnumber=mt_rand(1,999);
$tm=rand(1,500);
$vuf=$key[$rnumber % $keycount];
$browser->navigate("google.com");

$input->send_keyboard_input_by_number(0,"$vuf", $timeout=$tm);

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

после ввода слова из списка в большинстве случаев срабатывает нажатие и выкидывает уже результат поиска гугл, почему? по идее должен просто ввести слово и появится подсказки гугл. в чем дело?

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

Re: почему send_keyboard_input совершает нажатие Enter

Сообщение Support » 21 июл 2014, 11:13

Возможно, как вариант использовать наведение фокуса перед вводом информации, так же стоит попробовать использовать вот эту функцию взамен $keyboard->send_input();
http://www.humanemulator.net/objects/SY ... _input.php

mende11eev
Сообщения: 14
Зарегистрирован: 17 июл 2014, 22:14

Re: почему send_keyboard_input совершает нажатие Enter

Сообщение mende11eev » 21 июл 2014, 12:26

использовал $input->set_focus_by_number(0); - не помогает (точнее когда как, иногда остается просто написанное слово иногда кидает на результат поиска)
использовал $keyboard->send_input(); - тоже через раз, когда как

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

Re: почему send_keyboard_input совершает нажатие Enter

Сообщение Support » 21 июл 2014, 13:39

Пробовал у себя модулировать ситуацию, зачастую всегда вводит как вам и надо, но бывает что дает уже страницу с ответами, в чем данная особенность не понятно. Может, конечно, как вариант пробовать чистить куки перед запросами.

mende11eev
Сообщения: 14
Зарегистрирован: 17 июл 2014, 22:14

Re: почему send_keyboard_input совершает нажатие Enter

Сообщение mende11eev » 21 июл 2014, 13:55

сделал вот такое, но в большинстве случаев идет сразу результат поиска, в конце скрипта чищу куки
<?php

$xhe_host ="127.0.0.1:7001";

// The following code is required to properly run XWeb Human Emulator
require("../Templates/xweb_human_emulator.php");
$browser->enable_proxy("", "127.0.0.1:8118");

$key=file("us.txt");
$key2=file("us2.txt");
$keycount=count($key);
$keycount2=count($key2);
$rnumber=mt_rand(1,999);

$tm=rand(100,300);
$vuf=$key[$rnumber % $keycount];
$vuf2=$key2[$rnumber % $keycount2];
$browser->navigate("google.com");

$input->set_focus_by_number(0);
sleep(2);

$keyboard->send_input($vuf, $timeout=$tm);
sleep(rand(1,3));

$keyboard->send_input($vuf2, $timeout=$tm);

sleep(5);

$browser->close_all_tabs();
$browser->recreate();
$browser->clear_cash();
$browser->clear_history();
$browser->clear_address_bar_history();
$browser->clear_cookies("");
$browser->enable_quiet_regime("false");
$browser->enable_java_script("true");

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


это написал что бы в начале бралось рендомное слово из первого списка потом дописывало рендомное слово из второго списка, но в основном после набора первго слова попадаю на результат поиска и не успевает набираться второе слово

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

Re: почему send_keyboard_input совершает нажатие Enter

Сообщение Support » 21 июл 2014, 13:59

Я проконсультировался с нашими партнерами с x-scripts , говорят что встречались с таким, но это внутренняя особенность непосредственно гугла, потому как и вручную бывает выдает в двух вариант, как в нашем случае.

Ответить