开发者社区> 问答> 正文

运行代码后使第二个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"]')

我希望小部件在运行上一行代码之后立即弹出,然后在收到用户输入以运行下一行后关闭:

    next0 = browser.find_element_by_xpath('//*[@id="gradsIdvVerifyNext"]/span/span')
    next0.click()

使用与第一个弹出窗口相同的方法创建一个新的弹出窗口,会给我一个“ TclError:无法调用“ destroy”命令:应用程序已被破坏”错误。有什么办法可以像第一个窗口一样弹出第二个窗口?

展开
收起
天枢2020 2020-05-11 14:12:00 2134 0
1 条回答
写回答
取消 提交回答
  • 代码改变世界,我们改变代码

    def myClick():方法破坏根窗口(root.destroy())。这就是为什么您无法显示第二个窗口的原因。您需要使根保持活动状态(或创建一个新的根)。

    2020-05-11 14:12:13
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载