如何将Tkinter用户输入存储到可调用变量中

时间:2018-02-09 23:49:34

标签: python selenium tkinter

我一直在互联网上寻找存储和回调Tkinter用户输入作为变量的方法(在Selenium中)。我读过有关Pickle和JSON转储但似乎没什么用。

top = Tk()
L1 = Label(top, text="Auto-Connect",).grid(row=0,column=1)
L2 = Label(top, text="EMAIL",).grid(row=1,column=0)
L3 = Label(top, text="PASSWORD",).grid(row=2,column=0)
L4 = Label(top, text="URL",).grid(row=3,column=0)

E1 = Entry(top, bd =5)
E1.grid(row=1,column=1)

E2 = Entry(top, bd =5)
E2.grid(row=2,column=1)

E3 = Entry(top, bd =5)
E3.grid(row=3,column=1)

我要做的就是从用户界面在Selenium脚本中设置变量。如果在我道歉之前已经问过这个......我保证我整天都在寻找。

1 个答案:

答案 0 :(得分:2)

我假设你想要从条目小部件获取输入并在你的selenium脚本中使用它。这实际上非常简单。

下面我创建了一个mini ui来做这个

CODE:

from tkinter import *

def storeVar():
    AutoConnect = E1.get()
    Email = E2.get()
    Password = E3.get()
    Url = E4.get()

    global variables
    variables = [AutoConnect, Email, Password, Url]

root = Tk()

L1 = Label(root, text="Auto-Connect",).grid(row=0,column=0)
L2 = Label(root, text="EMAIL",).grid(row=1,column=0)
L3 = Label(root, text="PASSWORD",).grid(row=2,column=0)
L4 = Label(root, text="URL",).grid(row=3,column=0)

E1 = Entry(root, bd =5)
E1.grid(row=0,column=1)

E2 = Entry(root, bd =5)
E2.grid(row=1,column=1)

E3 = Entry(root, bd =5)
E3.grid(row=2,column=1)

E4 = Entry(root, bd =5)
E4.grid(row=3,column=1)

submit = Button(root, text= "Submit", command = storeVar)
submit.grid(row=4)

root.mainloop()

这是一个截屏: UI screenshot

现在要在你的selenium脚本中访问这些变量,你必须导入包含变量的列表,所以在我的例子中:

说我将上面的代码保存在一个名为ui.py的脚本中 在selenium脚本中我会写:

from ui import variables
print(variables)

变量是包含要使用的varibales的列表

随时问我任何你不明白的事情。