Два срока
Оба приходят как
idle_left и life_left. Простой обнуляется каждым шагом,
потолок — ничем.
Потолок нужен именно потому, что одного простоя мало: запрос раз в девять
секунд держал бы вкладку вечно, а слот пула — вместе с ней.
/v1/browser/sessions — поля idle_sec и max_life_sec.
Как в это укладываться
Не делайте пауз между шагами
Десять секунд простоя — это меньше, чем кажется, когда между вызовами стоит
обращение к модели.
Готовьте значения заранее
Решите, что вводить, до
open, а не между fill и click.Следите за life_left
Осталось меньше двадцати секунд — доводите дело до конца или начинайте
заново.
Длинные сценарии дробите
Две минуты — потолок. Сценарий на пятнадцать шагов надёжнее развести по
двум сессиям.
session_not_found или
session_expired. Это не сбой: сессия отработала своё.
Сколько сессий разом
Одновременных сессий — до четырёх на весь сервис. Это отдельный бюджет от Search и Fetch: те живут секунды, а сессия минутами держит вкладку и профиль. Мест нет — приходитsessions_busy с кодом 503 и заголовком Retry-After.
Повторяйте по нему, а не сразу.
Куки
Сессия работает в своём профиле, вынутом из общего пула на всё время жизни: куки, нажитые на сайте, не достанутся чужому запросу. При закрытии куки чистятся выборочно — всё, кроме поисковых:Поисковые остаются
Куки Google и Яндекса стоят прогрева и капчи. Терять их значит платить за
каждую сессию в разы дороже.
Все остальные стираются
Куки посторонних сайтов прогреву не помогают ничем, а чужой вход в учётную
запись, доставшийся следующему клиенту, — это уже не экономия.

