Добрый день
Вопрос такого рода, столкнулся с browsermob-proxy. необоходимо снимать запросы из Network и дальше уже обработка.
Проблемы с одной страницей (страница 1) не возникают - поднял прокси, взял все что надо.
Но, при открытии другой (пусть страница 2) страницы (прокси все еще поднят) запросы записываются не все. При чем, если отдельно загрузить страницу 2 - все запросы на месте.
Проблема именно с любой страницей 2.
Код не скидывал, может кто встречался с подобным. При необходимости опишу более подробно с примерами.
А нет ли принципиальной разницы между запросами, которые попадают и которые не попадают?
По умолчанию, BrowserMob создает httpProxy и sslProxy. Может, еще какой-то протокол используется, вебсокеты, например? Или какой-нибудь замут с редиректами?
Еще заметил закономерность, первый раз страница загружается довольно пордолжительное время, в статус баре видно как подгружаются элементы, все подгружается как надо. Вторая же страница загружается буквально секунду и падает. И реквестов удается выловить раза в 2-3 меньше. Пробовал ставить time.sleeep(), wait_for_traffic_to_stop(303, 400), создается впечатление, что последний не работает корректно, так как страница закрывается моментально. Смысл тот же, после отработки всех таймеров страница закрывается и тест падает по тем же причинам.
Есть идеи?
Во-первых, надо локализовывать проблему. То есть, сравнивать, что приходит при нормальной загрузке страницы вручную, и на каких запросах падает при подключении прокси. Может быть что-то очень специфическое.
Во-вторых, таймеры на какие-то запросы могут стоять в клиентском скрипте. Так даже можно найти баг, что страница не работает при медленном соединении.
Я сравниваю страницы не вручную, а запускаю циклом 2 раза одну и ту же страницу, что бы видно было что приходит и что нет.
Вручную как раз в нетворке все есть.
Таймеров нет, скрипты все наши )