我一直在尝试创建一个程序,该程序将通过循环运行并从 tkinter GUI 中提取条目并将其传递给 send.keys() 命令。但是,当我使用这个循环时,它将传递 p1.get() 的变量名,而不是拉取该变量等于的任何值。我已经运行了代码,我将其设置为普通列表并使用“测试”从该列表中提取,它可以工作,但它现在的设置方式将无法工作。我还读到有些人必须先向 send.keys() 发送空文本,但这也不起作用。我对 python 和 selenium 都很陌生,所以我可能犯了一个简单的错误并忽略了它,但我们将不胜感激。谢谢你。
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()
潇湘沐
相关分类