33-第3步_开始输入数据
第3步:开始输入数据
for
循环将迭代 formData
列表中的每个字典,将字典中的值传递给PyAutoGUI 函数,它们会实际在文本输入区输入。
在程序中添加以下代码:
#! python3
# formFiller.py - Automatically fills in the form.
--snip--
for person in formData:
# Give the user a chance to kill the script.
print('>>> 5-SECOND PAUSE TO LET USER PRESS CTRL-C <<<')
❶ time.sleep(5)
--snip--
作为一个小的安全功能,该脚本有 5 秒暂停❶。如果发现程序在做一些预期之外的事,这让用户有机会按 Ctrl-C快捷键(或将鼠标指针移到屏幕的左上角,触发 FailSafeException
异常),从而关闭程序。在等待页面加载时间的代码之后,添加以下代码:
#! python3
# formFiller.py - Automatically fills in the form.
--snip--
❶ print('Entering %s info...' % (person['name']))
❷ pyautogui.write(['\t', '\t'])
# Fill out the Name field.
❸ pyautogui.write(person['name'] + '\t')
# Fill out the Greatest Fear(s) field.
❹ pyautogui.write(person['fear'] + '\t')
--snip--
我们添加了临时的 print()
调用❶,在命令行窗口中显示程序的状态,让用户知道进展。
既然程序知道表格已经加载,就可以调用 pyautogui.write(['\t', '\t'])
按Tab键两次,让Name输入框取得焦点❷,然后调用 write()
,输入 person['name']
中的字符串❸。字符串末尾加上了 '\t'
字符,模拟按Tab键,它将输入焦点转向下一个输入框:Greatest Fear(s)。再一次调用 write()
,将在这个输入框中输入 person['fear']
中的字符串,然后按Tab键跳到表格的下一个输入框❹。