[問題] 打開*.exe後如何自動化輸入

作者: CCT63 (CCT)   2023-05-18 23:40:17
不知道這問題是否適合在這邊發問??
因為開發需要,從合作方那邊拿到了一個.exe
這個執行檔打開後會呈現像cmd的介面,
而我需要依照需求去輸入參數 或是等待回應
例如:
step1 輸入1
step2 等到回應stringA後再輸入2
這樣子一直持續下去的交互輸入與等待
如果今天要使用的參數不多,自動化與否沒什麼問題
而今天問題在於一堆參數要下,我自己也覺得不自動化去跑會遇到很多操作上的問題與不方便
目前我試過一些方法,結果沒有太好,
所以想要請問一下有沒有辦法能夠克服呢?
直接用bat:
但是似乎exe打開後就無法吃到bat裡頭的指令
寫一個python tool,模擬鍵盤輸入:
這個方法可以動,但是我依舊無法得到字串的回應
同時我得保證這個執行檔的視窗是正在使用的那個
作者: Ahhhhaaaa (果汁肥宅)   2023-05-18 23:42:00
你的bat每個指令有換行嗎
作者: CCT63 (CCT)   2023-05-18 23:46:00
有呦
作者: smallreader (小讀者)   2023-05-19 02:10:00
autohotkey?
作者: tomsawyer (安安)   2023-05-19 04:19:00
python pexpect
作者: streit (淺紫彩雲)   2023-05-19 12:02:00
tintin
作者: maniaque (maniaque)   2023-05-19 14:05:00
假如你下一指令是依據前一個回應內容而定,那就別想了因為response 是 push show到你程式的 windows 裡面若要用類似鍵盤精靈之類的,你也大概得排好組合指令時間抓回應大概會幾秒出來,大概幾秒後輸入下一個指令這樣
作者: LPH66 (-6.2598534e+18f)   2023-05-19 22:32:00
pexpect 呼叫 expect() 就會等到目標程式輸出給定字串也就是它是會把目標程式的輸出接下來, 你再指定條件因此就不是另開一個視窗開目標程式, 而是交給 pexpect 開自然沒有「要不要放在最上層」的問題
作者: CCT63 (CCT)   2023-05-21 22:49:00
剛剛在自己電腦模擬,用wexpect 好像能解決我的問題了,我再實驗看看 感謝各位高手

Links booklink

Contact Us: admin [ a t ] ucptt.com