当前位置:嗨网首页>书籍在线阅读

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键跳到表格的下一个输入框❹。