from tkinter import *
from selenium import webdriver
class Practice():
def __init__(self):
self.name = StringVar()
self.nameLabel = Label(root, text="Name")
self.nameEntry = Entry(root, textvariable= self.name)
self.submitButton = Button(root,text="Submit",command=self.submit)
self.nameLabel.pack()
self.nameEntry.pack()
self.submitButton.pack()
def submit(self):
while self.name.get() == "":
messagebox.showerror(title="No name",message="No name")
driver = webdriver.Firefox()
driver.get("http://stackoverflow.com/")
root = Tk()
b= Practice()
root.mainloop()
警告=这会导致无限循环关闭程序退出
所以我想知道伙计们。你知道如果你没有填写一个字段,有些形式。比如你的名字。它会显示一个消息框,说明您没有输入您的姓名,然后退出该消息框,然后填写您的姓名,在您点击提交后,消息框将不再弹出。
现在我的问题是我们如何重新创建它?
我上面的脚本就是这样的。但是会永远循环,并且不允许用户返回并将他的名字放在名称输入框上。
同时将此循环更改为if:
def submit(self):
if self.name.get() == "":
messagebox.showerror(title="No name",message="No name")
driver = webdriver.Firefox()
driver.get("http://stackoverflow.com/")
不会导致infinte循环,但仍会执行命令:
driver = webdriver.Firefox()
driver.get("http://stackoverflow.com/")
TL:DR 如果名称输入框为空,我们如何阻止执行命令以及如何防止消息框永远循环?
答案 0 :(得分:1)
只需进行一次检查。每次用户单击提交按钮时,将再次执行检查。
f.readline()