Подскажите по Human Emulator

Статус
В этой теме нельзя размещать новые ответы.

drawing4

Профессор
Регистрация
21 Ноя 2008
Сообщения
323
Реакции
37
Вопрос такого плана, есть строки
PHP:
$browser->navigate($url);
$browser->wait(1);

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

Напрашивается такой код

PHP:
$browser->navigate($url);
sleep(10);

Но тогда для каждого урла будет делать паузу 10 сек а это оч. много

Да, и еще. Если нужно прокрутить скроллинг(опуститься ниже чтобы было видно нужный участок окна) как это сделать?
 
1-ый вопрос:
PHP:
$browser->wait_for($sec,$n);
Данная функция ждёт пока браузер освободится. Используется после вызова функции $browser->navigate($url) или нажатия кнопок, ссылок или других элементов страницы, после которых браузер выполняет какие-либо действия – переход на новую страницу, обновление страницы и т.д.

Функция на вход принимает параметры:

$sec – этим параметром мы задаём максимальное время ожидание браузера в секундах, если браузер откликнется раньше, то функция закончит свою работу раньше, сразу же как откликнется браузер.
$n – количество повторных навигаций по текущему урлу, то есть если в течении $sec секунд у нас браузер не откликнулся, то мы делаем повторный переход на страницу и опять ждём $sec секунд и так $n раз.

2-ой вопрос: нажимайте END или PageDown через
PHP:
$keyboard->press_key_by_code("скан код клавиши");
 
PHP:
$browser->wait_for($sec,$n);

Наконец то я понял смысл этой функции, почему-то считал что она указанное время указанное количество раз отрабатывает. Аналогия цикла.

Второй вопрос решил сам, сделал точно так же как вы написали. Пробовал скроллинг, но вместо скроллинга почему-то заставка включается на указываемое время скроллинга.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху