作者CCT63 (CCT)
看板Windows
标题[问题] 打开*.exe後如何自动化输入
时间Thu May 18 23:40:17 2023
不知道这问题是否适合在这边发问??
因为开发需要,从合作方那边拿到了一个.exe
这个执行档打开後会呈现像cmd的介面,
而我需要依照需求去输入参数 或是等待回应
例如:
step1 输入1
step2 等到回应stringA後再输入2
这样子一直持续下去的交互输入与等待
如果今天要使用的参数不多,自动化与否没什麽问题
而今天问题在於一堆参数要下,我自己也觉得不自动化去跑会遇到很多操作上的问题与不方便
目前我试过一些方法,结果没有太好,
所以想要请问一下有没有办法能够克服呢?
直接用bat:
但是似乎exe打开後就无法吃到bat里头的指令
写一个python tool,模拟键盘输入:
这个方法可以动,但是我依旧无法得到字串的回应
同时我得保证这个执行档的视窗是正在使用的那个
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.171.16.136 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Windows/M.1684424419.A.EE6.html
※ 编辑: CCT63 (1.171.16.136 台湾), 05/18/2023 23:42:02
1F:推 Ahhhhaaaa: 你的bat每个指令有换行吗05/18 23:42
2F:→ CCT63: 有呦05/18 23:46
我有尝试过先start *.exe後去echo,结果无效
後来改用call也是无效
不知道有没有建议或帮忙指错下呢?
谢谢
※ 编辑: CCT63 (1.171.16.136 台湾), 05/18/2023 23:48:15
3F:→ smallreader: autohotkey?05/19 02:10
4F:→ tomsawyer: python pexpect05/19 04:19
如果使用pexpect,是不是也需要把我说的那个视窗放在最上层?
※ 编辑: CCT63 (49.216.163.212 台湾), 05/19/2023 09:40:46
5F:推 streit: tintin 05/19 12:02
6F:→ maniaque: 假如你下一指令是依据前一个回应内容而定,那就别想了 05/19 14:05
7F:→ maniaque: 因为response 是 push show到你程式的 windows 里面 05/19 14:06
8F:→ maniaque: 若要用类似键盘精灵之类的,你也大概得排好组合指令时间 05/19 14:06
9F:→ maniaque: 抓回应大概会几秒出来,大概几秒後输入下一个指令这样 05/19 14:07
10F:推 LPH66: pexpect 呼叫 expect() 就会等到目标程式输出给定字串 05/19 22:32
11F:→ LPH66: 也就是它是会把目标程式的输出接下来, 你再指定条件 05/19 22:32
12F:→ LPH66: 因此就不是另开一个视窗开目标程式, 而是交给 pexpect 开 05/19 22:33
13F:→ LPH66: 自然没有「要不要放在最上层」的问题 05/19 22:33
14F:→ CCT63: 刚刚在自己电脑模拟,用wexpect 好像能解决我的问题了,我 05/21 22:49
15F:→ CCT63: 再实验看看 感谢各位高手 05/21 22:49