Можете попробовать Selenium с обвязкой для питона. Записать с помощью IDE действия пользователя, затем с помощью сервера воспроизвести их на удаленном браузере (Плюс селениума в том, что можете использовать различные браузеры).
Либо еще как вариант - использование PyQt и встроенный QWebKit. В данном случае сможете самостоятельно записывать действия пользователя и воспроизводить их. Но в данном случае вы привязаны в вебкиту, т.е. все действия придется производить и выводить в вашем приложении.
Если нужно полностью отделить все части, т.е. чтобы кнопочка никакого отношения к twisted не имела, то наверное стоит поставить перед twisted например nginx и в его конфиге прописать, какие урлы обрабатывать twisted, а что отправить скрипту с кнопочкой. Но мне кажется это извратом каким-то. Если веб сервис работает на twisted, то и кнопочку нужно обрабатывать с его помощью.