Ох тут 3 варианта.
1) Вы можете отказаться от js и написать ту же автоматизацию того, что делает браузер на selenium(управляет браузером для тестирование что надо, по факту его и используют в python не зная об обезьянке и почти не видя js) всё это будет представлять из себя уже python код который запускает браузер. Если не можете реализовать логику на python, то selenium может сделать то же, что и обезьянка и подгрузить туда js добавляя тег < script >...< / script > в тело страницы(не редко так реализуют логику скролла).
2) Используя тот же selenium вы можете в браузере управляемым им развернуть в рантайме обезьянку и запушить туда свои js скрипты и выполнить переход на нужную страницу. (Опция крайне сомнительная и фиг его знает как разворачивать скрипты для расширения думаю просто закинуть файлы но подтянутся ли они кто знает).
3) Без использования selenium но с оговорками к браузеру. Если не нужен прямо новый браузер то можно использовать распаковку портативной версии браузера firefoxPortable с предустановленной обезьянкой и скриптами без истории кроме как захода на сайт обезьянки для установки. Далее пользуемся pyAutoGui и работаем со свежей распакованной версией, в координатах рабочего окна, в коде пишем как двигать мышкой и когда нажимать, геморрой будет тот ещё. Но при прочих равных ваш браузер запустится и исполнит что надо после копию удалить и при новом запуске снова из python распаковываем портативную версию делаем что надо и удаляем.
Моё мнение:
1) Наиболее отличный кейс для почти всего и вся. (опция с добавлением тега скрипт в тело страницы думаю то что нужно)
2) Кейсов для этого монстра не встречал не советую даже пробовать.
3) Знатный геморрой, но как минимум был кейс где это имело смысл.