Универсальная функция для перехода на следующую страницу. Кликает по цифрам пока они не закончатся.
$crnt_page - текущая страница
$cnt_pages - сколько страниц обходить. если -1 то пока не закончатся ссылки в виде цифр.
// следующая страница
function next_page(&$crnt_page)
{
global $anchor, $browser, $app,$cnt_pages;
// количество поисковых страниц
$crnt_page = $crnt_page + 1;
// если $cnt_pages == -1, значит скрипт будет искать все страницы до конца поиска
if ($cnt_pages != -1)
{
// останавливаем скрипт
if($crnt_page>$cnt_pages)
{
$crnt_page=1;
debug_mess("обработали все заданные страницы ".($crnt_page-1));
return false;
}
}
// перейдём на следующую страницу с результатами
if(!$anchor->click_by_inner_text($crnt_page,true))
{
debug_mess("обработали все доступные страницы ".($crnt_page-1));
$crnt_page=1;
return false;
}
debug_mess("обработали страницу ".($crnt_page-1));
return true;
}
В этой функции используется другая полезная функция
debug_mess. Заменяет функция echo.
Выводит сообщения если
$dbg =true;. Если заданна переменная
$debug_file путь к файлу с отладочной информацией, то помимо вывода в панель отладки пишет все сообщения в этот файл. Функция удобна для отладки скрипта, после чего можно задав одну переменную
$dbg =false; полностью отключить вывод всех сообщений, при этом в файл они всё равно будут добавляться, пока определён к нему путь.
// выдать сообщение в панель отладки и в debug file
function debug_mess($mess)
{
global $dbg, $textfile, $debug_file;
// отладочные сообщения
if ($dbg)
{
echo date("\[ d.m.y H:i:s\] ") . $mess . "<br>";
}
if (isset($debug_file))
{
// создаем сообщение для записи в файл отладки
$str = date("\[ d.m.y H:i:s\] ") . $mess."\r\n";
// записываем сообщение
$textfile->add_string_to_file($debug_file, $str);
}
}