求群内大佬指点,给个方法或思路!

cyzn_lfss 3月前 406

自学写了个软件,主要功能是通过网页自动化方法实现登录、设置查询条件,延时后循环查询获得列表内容。

程序通过点击一个运行按钮后循环工作,循环查询获取结果中间需要延时。

想解决的问题是:开始工作程序界面就会卡住。

没有用多线程,也知道运用多线程可以解决这个问题(主要是没学会多线程)。

因为我在整个工作流程中调用的登录啊,设置条件啊的自定义函数还关联了很多别的自定义的函数,还调用了配置文件(fsys.config库的)等等的。

所以不知道怎么搞进多线程中(也不想自定义函数都加上mainForm.来实现传参)

求教各位师傅、大佬们给个主意

(我的代码和我的表达都很烂,就不贴上来辣眼睛了)

祝各位大佬:所行皆坦途、 所遇皆温暖 、所念皆如愿 、未来皆可期 !多喜乐! 长安宁!

最新回复 (8)
  • 瞌睡蟲子 3月前
    1 2

    一个是全部用异步方法,主线程里面阻塞延时换成settimeout,网页自动化方法换成异步调用。通过POSTMESSAGE和waitmessage进行必要的同步控制。

    一个是主线程只跑UI,所有业务丢到单独线程去执行,参考范例-》线程任务分派

  • cyzn_lfss 3月前
    0 3
    瞌睡蟲子 一个是全部用异步方法,主线程里面阻塞延时换成settimeout,网页自动化方法换成异步调用。通过POSTMESSAGE和waitmessage进行必要的同步控制。一个是主线程只跑UI,所有业务丢到单 ...
    感谢大佬的指点!我去试一下settimeout的方法。 多线程这个实在是学习不懂,程序跑着能工作了就变懒惰了。能把多线程学通写代码能力肯定会上一大个台阶的。 再次感谢!
  • xy506 3月前
    0 4
    可以用定时器,设置定时器执行指定的函数,至于登陆和查询,可以看你登录后的Cookie可以保持多久,我个人的用法是通过谷歌驱动插件模拟登陆后提取cookie,然后再写get/post函数 写入cookie后进行查询。
  • 小肥羊 3月前
    0 5

    有个土办法,如果不想用多线程,那就直接写两个程序,一个调用另一个去取数据,取数据按个程序就是一个命令行程序,没有UI,结束了把数据写进数据库,直接跑多进程,哈哈

  • pamir 3月前
    0 6
    我也想要实现类似的东西(想定时到一个设备系统的管理后台读取报警信息,后面界面可以一直登录着,点个刷新按钮 把新报警信息读取下来),但什么都不懂,也不知道用aadio哪方面的功能来实现。有哪位老师指点一下,给个方向啊。谢谢。
  • 小肥羊 3月前
    0 7
    pamir 我也想要实现类似的东西(想定时到一个设备系统的管理后台读取报警信息,后面界面可以一直登录着,点个刷新按钮 把新报警信息读取下来),但什么都不懂,也不知道用aadio哪方面的功能来实现。有哪位老师指点一 ...
    这种建议直接读取接口数据,比如系统是网页,可以走接口,如果是数据库,可以直接从数据库取。 针对网页,把接口找出来,如果需要登录信息,走模拟登录也可以,或者通过web.view登录,然后取cookie也可以。
  • cyzn_lfss 3月前
    0 8
    网页自动化的路子太长了...我目前还只在按键精灵+JS的水平上。看着各位大神用HTTP的get、post方法直接操作接口,只能流口水羡慕
  • 小肥羊 3月前
    0 9
    cyzn_lfss 网页自动化的路子太长了...我目前还只在按键精灵+JS的水平上。看着各位大神用HTTP的get、post方法直接操作接口,只能流口水羡慕
    把POST和get大概搞明白就行了,如果只是要会用一些简单的功能,不会很难的,就用inet.http 和inet.whttp就满足基本的需求了
返回