Хорошо, я наконец-то получил все, чтобы работать так, как я хочу. Суть взлома состояла лишь в том, чтобы сделать веб-драйвер глобальной переменной и правильно вызывать его в основной функции.
Итак, теперь у меня есть две кнопки в главном графическом интерфейсе, которые выглядят так:
# Button to start the webdriver
Button(window, text = "Start", width=11, command=init.actions.start).grid(row=1, column=1, sticky=W)
# Textbox for what to write
Label (window, text='Enter text', bg="black", fg="white") .grid(row=2, column=0, sticky=W)
text = Entry(window, width=20, bg="white")
text.grid(row=3, column =0, sticky=W)
И у меня есть отдельный файл, в котором я храню все функции, связанные с кнопками. Функции для запуска веб-драйвера и записи текста в текстовое поле выглядят следующим образом:
class actions:
def start():
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
global browser
browser = webdriver.Chrome(executable_path="chromedriver")
browser.get("go to the login page")
login = browser.find_element_by_name("USER_LOGIN")
login.send_keys("USERNAME HERE")
pw= browser.find_element_by_name("USER_PASSWORD")
pw.send_keys("PASSWORD HERE")
pw.send_keys(Keys.ENTER)
time.sleep(5)
browser.get("page with the file")
return browser
def create_code(browser, text):
from selenium.webdriver.common.keys import Keys
Text=text.get()
textarea.send_keys(Text)
Итак, теперь у меня есть кнопка для инициализации веб-драйвера и отдельная кнопка для записи в файл.