私のプロジェクトは、いくつかのタスクを自動化することを中心にしています。私はアプリケーション、新しい3Dファイルを開いてから、アクセスベースからいくつかの操作を行います。私はpywinauto
とグラフィックのやりとりを選んだので、オペレータはソフトウェアに介入する必要があります。pywinautoアプリケーション名を変更する
私の問題は、アプリケーションの名前が新しいファイルを開くときに変わるということです。コードがあります:あなたが書くとき
# Search data on the Access Base
cursor = conn.cursor()
cursor.execute("SELECT * FROM [SophieBot_produit] WHERE [SophieBot_produit].[ID PRODUCTION] =?",(prod))
produit_sql = cursor.fetchall()
production, statut, produit_value, nb_element, cas, gamme, sl_tps_open, sl_tps_gen, sl_tps_save = produit_sql[0]
produit = str(produit_value).zfill(8)
# Data work, check with print()
#Connecting to the software
app = application.Application()
app.Connect(path='C:\\myprogram')
# First step everything works
app.SLMAutoFab.menu_select("File -> Open")
app.window_(title_re="Open file.*").Edit.SetEditText('S:\\32 - Articles\\'+ str(gamme) +'\\' + str(cas) +'\\' + str(produit) +'_sup.stl')
app.window_(title_re="Open file.*").Ouvrir.Click()
# New step is to do operation on the software
今私のソフトウェアアプリケーション名がMyprogram - 3DFile
を変更された新しい名前のすべてが、たとえば作品:
app.SLMAutoFab00057389_sup.Part.Click()
しかし、ソフトウェアの変更の名前、だから私は試してみる:
win = 'MyProgram' + str(produit)
app.win.Part.Click()
コードは機能せず、エラーメッセージは次のとおりです。
MatchError: Could not find 'win' in 'dict_keys
私はwindow(handle)
に接続しようとしている、それが動作するかどうかのポストを更新します。任意のヒントやポインターを高く評価します。
正確なエラーメッセージ –
こんにちは貼り付けてください別のコメント – Axel35136