python - 运行代码后弹出第二个 tkinter 小部件
问题描述
这是我卡住的地方:
root = Tk()
e = Entry(root, width = 50)
l = Label(root, text = 'Enter your phone number')
l.pack()
e.pack()
def myClick():
global a
a = e.get()
root.destroy()
myButton = Button(root, text = 'Enter', command = myClick)
myButton.pack()
root.mainloop()
def randomString(stringLength=3):
letters = string.ascii_lowercase
return 'hbgvfc' + ''.join(random.choice(letters) for i in range(stringLength))
browser = webdriver.Chrome('C:\\Users\memet\Desktop\Projects\chromedriver')
def fillaccount1():
browser.get('https://accounts.google.com/signup/v2/webcreateaccount?service=mail&continue=https%3A%2F%2Fmail.google.com%2Fmail%2F%3Fpc%3Dtopnav-about-n-en&flowName=GlifWebSignIn&flowEntry=SignUp')
next = browser.find_element_by_xpath('//*[@id="accountDetailsNext"]/span/span')
name1 = browser.find_element_by_xpath('//*[@id="firstName"]')
name2 = browser.find_element_by_xpath('//*[@id="lastName"]')
username = browser.find_element_by_xpath('//*[@id="username"]')
password = browser.find_element_by_xpath('//*[@id="passwd"]/div[1]/div/div[1]/input')
password_confirm = browser.find_element_by_xpath('//*[@id="confirm-passwd"]/div[1]/div/div[1]/input')
name1.send_keys(randomString())
name2.send_keys(randomString())
username.send_keys(randomString())
password.send_keys('nhbgvf')
password_confirm.send_keys('bhgvfcd')
next.click()
browser.implicitly_wait(10)
number = browser.find_element_by_xpath('//*[@id="phoneNumberId"]')
next2 = browser.find_element_by_xpath('//*[@id="gradsIdvPhoneNext"]/span/span')
number.send_keys(a)
next2.click()
code = browser.find_element_by_xpath('//*[@id="code"]')
我希望小部件在运行上一行代码后立即弹出,然后在接收到用户输入后关闭以运行下一行:
code.send_keys(c)
next0 = browser.find_element_by_xpath('//*[@id="gradsIdvVerifyNext"]/span/span')
next0.click()
使用与第一个弹出窗口相同的方法创建一个新弹出窗口会给我一个“TclError:无法调用“destroy”命令:应用程序已被破坏”错误。有没有办法让第二个窗口像第一个一样弹出?
解决方案
def myClick():
方法销毁根窗口 ( root.destroy()
)。这就是为什么不能显示第二个窗口的原因。您需要保持 root 处于活动状态(或创建一个新的)。
推荐阅读
- visual-studio-code - 如何在 VS 代码中为颤振项目创建备份 zip 文件
- python - TypeError:“列表”对象在尝试访问反向范围时不可调用
- python - 如何从sql结果打印结果?
- python - 如何使用 Matplotlib 创建双条形图或堆叠条形图
- python - 尝试使用 jupyter notebook 将 display(Math('f(x) = x + 2C')) 的输出保存到图像文件
- image - TinyMCE 图像插入插件是否可以查看缩略图预览?
- javascript - 如何查找选定元素或 ElementHandle 的后代元素?
- php - Woocommerce 标题的奇怪输出
- c - 如何将音频事件前后的 50 毫秒存储在循环缓冲区中?
- loops - 如何在 Actionscript 中添加处理超过 15 秒的时间延迟?