Я делал так.
Задал в настройках вверху три потока.
Начало скрипта, там где устанавливается разрешение экрана, идет авторизация и сохрание куки - это первый поток. Когда куки мы получили, авторизовавшись - я их устанавливаю как глобальную переменную, например CO (изначально она была равно 0, или 666)
Во втором потоке идет все время чекание, чему равно CO. Если еще 0 или 666, то спим 1 секунду, и снова проверка.
Как только СО не равно 0 или 666, идет подгрузка этих куки, открываются нужные страницы, и пошла работа, которая нужна во второй вкладке.
Аналогично третья вкладка.
А первая, после того, как отдала куки, тоже как бы отстрелялась, и теперь делает задания, которые от нее нужны.
Ах да. Как прописать логику работы скрипта с тремя потоками? Просто заходим в статистику скрипта, номер потока. Ставим условие IF номер потока == 1, то такие-то действия, 2 и 3 - соотстветственно, такие-то.
Запускаем, и всё работает как часы.
У меня лишь была загвоздка, что все три вкладки должны были одновременно кликнуть допустим в одно место, но потоки все время между собой сообщались посредством Глобальных переменных с некоторым "люфтом" в долю секунды, пока второй поток получит от первого отмашку. и это было недопустимо, в итоге я тогда так и не придумал, как убрать люфт. Возможно, привязку сделать к часам, не знаю