Ошибка $browser->navigate

Если вы обнаружили какие либо ошибки, недочеты и неудобства или другие незачеты в программе напишите нам об этом на этом форуме - мы бум исправлять
Ответить
OlegGraf
Сообщения: 76
Зарегистрирован: 04 ноя 2011, 01:01

Ошибка $browser->navigate

Сообщение OlegGraf » 27 май 2013, 13:27

Обратил внимание что $browser->navigate если не соединился выдает всеравно true
Вот пример:

Код: Выделить всё

if($browser->navigate('http://rteerteeeee.com/')) echo 'OK'; else echo 'No connect';
Выдаст OK
Или что-то делаю не так?

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

Re: Ошибка $browser->navigate

Сообщение bigfozzy » 27 май 2013, 13:35

для проверки соединения есть функции и :

$browser->check_internet_connection
$browser->check_connection

и класс $connection.

Просто правильно ли мы перешли на страницу зависит от самой страницы и использованного прокси и со 100% сказать что переход правильно сделан для абстрактной страницы нельзя. Обычно это проверяется наличием различных заданных элементов страницы. browser->navigate возвращает true - если сделал попытку перехода на заданный урл.

OlegGraf
Сообщения: 76
Зарегистрирован: 04 ноя 2011, 01:01

Re: Ошибка $browser->navigate

Сообщение OlegGraf » 27 май 2013, 13:55

Да, но если страница вернула Not Found
У меня нет контнета через $webpage->get_document_body(true); и не понятно совсем в чем дело.
В руководстве по $browser->navigate у вас написано:
Функция возвращает параметры :
true – удалось перейти по заданному адрессу
false – не удалось перейти по заданному адрессу

$browser->check_internet_connection и $browser->check_connection не проверяют существование URL при $browser->navigate
То есть, получается нужно делать 2 запроса, в начале $browser->check_connection а постом $browser->navigate?
Как то не верно. Верно получить статистику соединения при $browser->navigate, если отличается от 200 то делаем другие действия.
$raw->get_last_response_buffer тоже не работает в этом случае

Как отследить при запросе страницы через $browser->navigate что страница есть и все ОК?

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

Re: Ошибка $browser->navigate

Сообщение bigfozzy » 27 май 2013, 14:26

ок, Спасибо, статус навигации будет проверятся и возвращатся false, если он отличен от 200.
Но вообще для уверенности после навингации обычно надо использовать $element->is_exist_by - т.е точно ли мы перешли на ту самую страницу.

Ответить