Я пытался создать программу, которая будет запускаться через al oop, извлекать записи из tkinter GUI и передавать ей команду send.keys (). Однако, когда я использую этот l oop, он передаст имя переменной p1.get () вместо того, чтобы вытягивать любую переменную, равную. Я запустил код, в котором я настроил его как обычный список и извлек из него «test», и он будет работать, но он не будет работать так, как сейчас. Я также читал, что некоторым людям сначала нужно будет отправить пустой текст в send.keys (), но это тоже не сработало. Я довольно новичок как в python, так и в селене, поэтому я мог бы сделать простую ошибку и не заметить ее, но любая помощь будет принята с благодарностью. Спасибо.
import tkinter as tk
import time
from selenium import webdriver
options = webdriver.ChromeOptions()
options.muted = True
browser = webdriver.Chrome('/Users/Matt/Downloads/chromedriver', options=options)
app = tk.Tk()
p1 = tk.StringVar()
p2 = tk.StringVar()
entryPlayer1 = tk.Entry(app, textvariable = p1, width=20)
entryPlayer1.grid(column=1, row=0, padx=10, pady=5, sticky=tk.N)
entryPlayer2 = tk.Entry(app, textvariable = p2, width=20)
entryPlayer2.grid(column=1, row=1, padx=10, pady=5, sticky=tk.S)
def click():
for i in range(1, 2):
pID = ("p" + str(i) + ".get()")
browser.get("https://www.espn.com/")
time.sleep(1)
srch_btn = browser.find_element_by_xpath('//*[@id="global-search-trigger"]')
srch_btn.click()
srch_bar = browser.find_element_by_xpath('//*[@id="global-search"]/input[1]')
srch_bar.send_keys(pID)
SubmitButton = tk.Button(app, text = 'Submit', command = click)
SubmitButton.grid(column=3, row=5, pady=10, padx = 10)
app.mainloop()