Страница помечается загруженной раньше времени

TheVillain

Client
Регистрация
24.12.2019
Сообщения
75
Благодарностей
5
Баллы
8
Здравствуйте! Есть проблема при выполнения скрипта, который просто заходит на страницу и остается на ней несколько секунд. При загрузке страницы программа отмечает страницу как загруженную (статус "готово") раньше, чем страница действительно загружается. Соответственно скрипт переходит к следующему действию - пауза. Хотя потом он все же понимает, что страница недогружена и опять помечает ее как загружающуюся, но скрипт то уже перешел к следующему действию. Что можно предпринять в такой ситуации? Можно как-то потребовать от программы проверить загрузку сайта повторно, прежде чем переходит к следующему действию?
1.jpg
 

ISeeYou

Client
Регистрация
19.11.2019
Сообщения
65
Благодарностей
7
Баллы
8
После скрипта загрузки странички выставь паузу в 10 - 15 секунд этого хватит..
С таймингами можно и нужно заморочится дабы потом голова не болела.
47189
 

TheVillain

Client
Регистрация
24.12.2019
Сообщения
75
Благодарностей
5
Баллы
8
После скрипта загрузки странички выставь паузу в 10 - 15 секунд этого хватит..
С таймингами можно и нужно заморочится дабы потом голова не болела.
Посмотреть вложение 47189
Так сейчас и сделал. Но проблема в том, что в зависимости от прокси загрузка иногда может произойти намного раньше, а иногда наоборот - дольше. Вот и думаю, как бы оптимизировать.
 

Valandersi

Client
Регистрация
19.01.2015
Сообщения
1 935
Благодарностей
1 123
Баллы
113
Сделать проверку нужно элемента на странице. Допустим берете DOM выпаршиваете элемент и в цикле проверяете его появление.
 
  • Спасибо
Реакции: TheVillain

zarufakis

Client
Регистрация
22.03.2019
Сообщения
1 743
Благодарностей
1 137
Баллы
113
После скрипта загрузки странички выставь паузу в 10 - 15 секунд этого хватит..
С таймингами можно и нужно заморочится дабы потом голова не болела.
Посмотреть вложение 47189
Это костыль. Однако в фф и хроме загрузка работает по разному. в ФФ более корректно ждет окончания загрузки.
 
  • Спасибо
Реакции: TheVillain

zarufakis

Client
Регистрация
22.03.2019
Сообщения
1 743
Благодарностей
1 137
Баллы
113
Сделать проверку нужно элемента на странице. Допустим берете DOM выпаршиваете элемент и в цикле проверяете его появление.
И если он не появился ловим бесконечный цикл. Умно))
 

Valandersi

Client
Регистрация
19.01.2015
Сообщения
1 935
Благодарностей
1 123
Баллы
113

Norim

Client
Регистрация
17.10.2017
Сообщения
322
Благодарностей
82
Баллы
28
И если он не появился ловим бесконечный цикл. Умно))
После каждой проверки слип и если количество проверок больше допустимой, выходим с ошибкой. Сам таким пользуюсь, т.к уже все сайты напичканы скриптами.
 

TheVillain

Client
Регистрация
24.12.2019
Сообщения
75
Благодарностей
5
Баллы
8
Если прокси гавно, то в цикл ещё проверку времени добавляем
Прокси хорошего качества, приватные. Загрузка примерно 2-3 секунды. Но иногда, некоторые подсети, грузят по 5-7 секунд полностью страницу. Страница объемная.

Это костыль. Однако в фф и хроме загрузка работает по разному. в ФФ более корректно ждет окончания загрузки.
Спасибо, проверю. Но проблема в том, что при использовании ФФ не происходит загрузка медиа на странице. Не знаю с чем это связано.
 

zarufakis

Client
Регистрация
22.03.2019
Сообщения
1 743
Благодарностей
1 137
Баллы
113

Valandersi

Client
Регистрация
19.01.2015
Сообщения
1 935
Благодарностей
1 123
Баллы
113
Прокси хорошего качества, приватные. Загрузка примерно 2-3 секунды. Но иногда, некоторые подсети, грузят по 5-7 секунд полностью страницу. Страница объемная.


Спасибо, проверю. Но проблема в том, что при использовании ФФ не происходит загрузка медиа на странице. Не знаю с чем это связано.
C#:
instance.SetBrowserPreference("media.peerconnection.enabled", true);
Попробуйте.
говнопрокси я отсеиваю на начальном этапе работы шаблона, гетом в 3 секунды на сервер зеннолаба
Я говнопрокси вообще не использую, но какие прокси у ТС я не в курсе может паблик заезженный.
 

TheVillain

Client
Регистрация
24.12.2019
Сообщения
75
Благодарностей
5
Баллы
8
C#:
instance.SetBrowserPreference("media.peerconnection.enabled", true);
Попробуйте.
При попытке использовать FireFox (пробовал разные версии) намертво повисает ProjectMaker. Уже после того как выполнит тестовый запуск.
 

Valandersi

Client
Регистрация
19.01.2015
Сообщения
1 935
Благодарностей
1 123
Баллы
113
При попытке использовать FireFox (пробовал разные версии) намертво повисает ProjectMaker.
Так не должно быть, попробуйте снести и заново поставить. Если не поможет делайте тестовый шаблон и закидывайте не форум.
 

TheVillain

Client
Регистрация
24.12.2019
Сообщения
75
Благодарностей
5
Баллы
8
Так не должно быть, попробуйте снести и заново поставить. Если не поможет делайте тестовый шаблон и закидывайте не форум.
Переустановил - заработало. Но видео на странице все также не грузится в связи с ошибкой "Видео в формате MIME не поддерживается браузером".

Всем спасибо! Нашел способ, который мне помог. Не знаю подойдет ли он всем и под все сайты...
Элементарно добавил в скрипт еще одно действие по загрузке страницы - то есть скрипт сначала первый раз грузит страницу, а затем еще раз ее обновляет. При обновлении страница уже грузится действительно как и должна (то есть статус "готово" не появляется раньше времени). Это, конечно, костыль, но так быстрее получается, чем делать паузы по 15 сек. Особенно, если работать в многопотоке.
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 789
Благодарностей
5 721
Баллы
113
И если он не появился ловим бесконечный цикл. Умно))
смотря как ждать. если дополнительно контролировать время то никакого бесконечного цикла не будет.
и почему сразу костыль ? щас сайты загружаются мигом, галочка ставиться что сайт загружен. а через некоторое время по ajax или другими методами через скрипты начинают загружать контент. и полагаться только на одну галочку это в корне неправильно. контрольный элемент просто необходимо контролировать. а если сайт упал ? галочка то выставиться, вот только там будет не та страница.
 

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)