Если был запрошен ввод из консоли, то консоль будет ожидать ввода до тех пор пока не будет нажат Enter, и не важно что в этот момент сыплется в консоль из других потоков. Это, конечно, сбивает с толку, но не влияет на ввод. Можно спокойно продолжать набирать текст, не обращая внимания на всю эту грязь, на ввод попадет только то что введено с клавиатуры. Но если хочется сделать как-то по-эстетичнее, то можно дождаться вывода, выдержать паузу, перевести строку и читать raw_input:
import time
webbrowser.open_new(self.url)
time.sleep(2) # можете сами подобрать это значение
print("\n")
self.code = raw_input("Code: ")