quicker增加Excel那样的内置函数

功能建议 · 2509 次浏览
看云 创建于 2019-11-07 11:49

做了一个动作组合想捕获多个控制台输出,发现实现方法比较繁琐

 

下面的动作组合的目的是:

从控制台读取多个坐标,将鼠标移动到一个坐标,间隔2秒钟,再移动到另一个坐标

脚本的内容是:

分别输出两个坐标到控制台

 

尝试了一下,可以实现捕获多个输出,但是比较繁琐

是否有简化的方法?

 

比如

1. 直接读入列表而不是仅仅文本

2. 不使用列表操作,而是直接使用列表插值实现,比如{xy_list}[0]这样的方式

 

思考了一下,这可能是quick主要是作为UI,而缺乏自身的编程语言的原因

是否能提供quick自身的脚本语言或类似Excel的那种常用函数,这样就可以读取其他脚本的输出后,进行简单的处理。

也就是说,现在所有的UI,都可以使用函数的方式来实现。

 

 

比如鼠标移动,就可以参照ahk的那种方式。

主要是ahk的函数语法没有python那样简单直观,不然直接使用ahk也能实现一部分功能。

我自己主要是使用python,对于ahk最常用的鼠标移动和热字串了解,其他的功能就不太了解。所以也希望最终的函数语法能简单一点。

 

python的长处是通用性非常广泛,但键鼠操作和热字串比较难实现

ahk的长处是键鼠操作和热字串,但缺点是了解的人少,语法也复杂

 

是否可以结合两者的优点。

让几乎所有人都能像用excel公式那样,使用quicker函数

最终,大家在运行脚本里,可以选择quicker脚本类型,然后就愉快的写函数和处理变量了。

 

 

看云 最后更新于 2019/11/7

回复内容
CL 2019-11-07 12:15
#1

可以考虑把所有的这些操作都放在一个py脚本里,这样也可以避免数据的传递。

Quicker只用来启动脚本。

看云 2019-11-07 12:37 :

py中移动鼠标这些操作太复杂,ahk的语法太复杂。


如果每个py脚本只捕获一个输出的,也可以实现,但是感觉实际当中,很多情况下会有多个输出。


比如我用py从excel中读取一列,就需要写多个py脚本,来对应处理一列中的每一行,这就太复杂了。


如果写一个脚本来从Excel读取一列,并自动填写到网页中,这样用一个py脚本来实现也不现实。


如果使用AHK来实现,自己也不会从excel读取。语法也不是很想学习。


如果用Quicker自身的函数编写一个脚本,变成和其他脚本的胶水语言,就可以很轻松的处理了。


实际上,我正在进行的工作,就是从一个excel中读取姓名和身份证,然后填写到网页中。


这样的操作,可以通过剪贴板来完成,但是如果通过函数来完成的话,就会减少很多读取excel的响应时间,提高鲁棒性。




可以看到,我使用了很多响应等待时间,其中的wait_time_turn是切换网页和Excel的等待时间50ms,还有wait_time_excel,是在Excel中使用方向键移动的等待时间20ms。


其中的xy_开头的变量,实际上都是鼠标点击的坐标,类似"123,456"这种,因为要在很多台电脑上,由多个人操作,所以设置为变量,也为了后期方便修改。




如果使用函数,就会很简单明晰。我定义的步骤组,很多也只是切换到Excel去复制数据。


实际上,我对Excel中的xlwings模块比较熟悉,如果能使用python读取Excel中的内容,然后输出到控制台(当然如果能跨进程共享数据更好)


然后使用quicker的函数进行处理,进行网页自动化的填写,就会很简单。



当然quicker内置函数,这个听起来实现起来就比较复杂,但是一旦实现了,就会激发很多的可能性,quicker的通用性也会跟python一样广泛。


顺便请教个问题,如何在python脚本中进行插值赋值?



比如实现上面图示的赋值?




看云 最后更新于 2019-11-07 13:10
回复主贴