web界面新增数据记录为例,SQL需要一定的知识基础
发表时间:2023-11-23 13:02:11
文章来源:炫佑科技
浏览次数:184
菏泽炫佑科技
web界面新增数据记录为例,SQL需要一定的知识基础
大家好,我是安国!
我们经常会遇到需要进行大量重复操作的时候,比如在网页上填写表单、操作网页版OA、自动化测试、或者**次向新系统添加数据等。
这些操作的特点往往是:数据同构,大部分是已经存在的结构化数据; 操作比较枯燥,都是在同一个流程中点击、输入; 数据量大,消耗运营商大量精力。
那么它可以自动化吗?
2、自动化解决方案
如果您在网络上操作,这就足够了。 如果需要操作GUI界面,可能要测试一下“按键向导”是否能满足要求。 要将初始数据添加到新系统,SQL 导出和导入是*有效的方法,但可能需要一些更复杂的处理。
我多次遇到需要手动将旧数据一一录入的系统升级活动。
然而,上述情况存在一些问题。 比较复杂,按钮向导的功能还不完善,SQL需要一定的知识基础。
这里推荐一个更好的解决方案:
事实上,主要优点是比较简单。 应急使用时,可以快速构建可用的自动化操作脚本。毕竟数据处理任务本质上是紧急的,没有时间使用复杂的知识来构建完整的脚本。
三、思路和知识点
现在我们来说一下基本思想和相关知识点
本文以在Web界面批量添加数据记录为例,讲解如何自动化操作。 这个例子只是为了演示,非常简单。 您可以自行了解并迁移。
4. 操作步骤 4.1 初识
简单来说,它是一个在界面上模拟键盘和鼠标操作的包。 安装时只需使用以下语句:pip。
编写一个简单的测试程序:
import pyautogui as pag
pag.PAUSE = 1.5
pag.click(63,191)
复制
上面的程序导入库并为每个步骤定义 1.5 秒的暂停时间(以留出操作时间),然后在距离屏幕左侧 63 像素、距离顶部 191 像素的点上单击鼠标。
4.2 坐标系
默认坐标系从屏幕左上角开始web界面新增数据记录为例,SQL需要一定的知识基础,x轴向右递增,y轴向下递增。 因此显示屏上的每个点都有自己的位置。
推而广之,当你知道界面上每个按钮的位置后,点击这些点就会执行相应的操作。
当然,这一切的前提是界面保持不变。 大多数应用程序的界面和按钮位置不会改变。 如果你有这个需求,可以参考()函数。 此函数根据您提供的图像查找屏幕上的匹配像素。 这样您就不必担心按钮移动。
为了获取屏幕的坐标系,我写了一个简单的程序来获取鼠标在屏幕上的坐标。 您可以自行下载并运行。
import pyautogui as pag
import os
try:
while True:
os.system('cls')
a = '%4d,%4d'%pag.position()
print(a)
except Exception as e:
print(e)
复制
运行上面的程序,将鼠标移动到各个按钮上,可以看到对应的坐标。
4.3 点击
点击很简单:
pyautogui.click(x=None, y=None, clicks=1, interval=0.0, button='left', duration=0.0)
复制
其中x,y是坐标,是点击次数,是点击间隔,是指三个鼠标按钮中的哪一个,是点击之间的间隔。
编写以下程序在任务、时间和新按钮之间跳转。
pag.click(63,191)
pag.click(328,191)
pag.click(384,461)
pag.click(374,191)
复制
4.4 输入
输入 ASCII 字符和键盘击键和热键如下:
至于汉字自动化软件开发,则稍微复杂一些。
4.5 汉字输入
当涉及到汉字时,无法用ASCII的解决方案来解决。 您需要导入一个包。 该包封装了系统剪贴板。 你们都知道发生了什么事。
import pyperclip
#以下读入内容,就是把内容存入剪贴板。
pyperclip.copy('需要输入的汉字')
#以下输出内容,就是粘贴。
pag.hotkey('ctrl','v')
复制
其实非ASCII字符的输入是通过使用热键Ctrl+v模拟复制粘贴来实现的。
4.6 积分
接下来我们看一下集成的整个程序:
import pyautogui as pag
import pyperclip
pag.PAUSE = 1.5
pag.FAILSAFE = True
to = ['测试任务1','测试任务2','测试任务3','测试任务4','测试任务5',\
'测试任务6','测试任务7','测试任务8','测试任务9','测试任务10']
for t in to:
pag.click(63,191)
pyperclip.copy(t)
pag.hotkey('ctrl','v')
pag.click(328,191)
pag.click(384,461)
pag.click(374,191)
复制
上述程序根据to列表的内容将操作分解为点击和粘贴,达到自动化操作的目的。 大部分代码简单易懂,可以与鼠标操作一一对应。 可能比较困难的是数据源的问题。 你总不能把所有的数据都写进程序吧?
五、数据来源
与复杂的现实世界数据源相比,*好的方法是将数据转换为csv文件。 这样,很多Excel文件都可以保存为这个文件,是文本型的,可以读写,比较方便。 SQL 数据库和 XML 等其他数据也可以导出并转换为 csv 文件。
假设你现在有一个csv格式的数据源data.csv,你需要这样做。
to = []
with open('data.csv')as f:
lines = f.readlines()
for line in lines:
to.append(tuple(line.split(',')))
复制
上面的代码比较简单。 它将 csv 中存储的数据存储到 to 数组中。 每行数据都是一个元组。 调用时,如4.6部分代码所示,使用for循环,并添加元组下标。 。
六、总结
本文利用包自动执行鼠标点击、输入等各种机械重复操作,可以大大提高工作效率。 这里只用到了包的点击功能和复制功能。 主要目的是简化编程,让大家在紧张繁琐的操作时,快速编写小脚本,实现自动执行。