0

私は Pywinauto で遊んでみようとしています。プログラムを起動してクリックするだけの基本的なプログラムがあります。次のようになります。

from pywinauto import application
app = application.Application()

app.Start_("//PathToGChrome/Google Chrome.exe")

# Google Chrome Starts

app.Google_Chrome.ClickInput(coords=(0,0))

# Returns error:

Could not find 'Google_Chrome` in `dict_keys([])`

しかし、もし私が好きなら

app.Start_('Notepad.exe')

# Notepad Starts

app.Notepad.ClickInput(coords=(0,0))

# Foregrounds notepad and clicks in the top left

Google Chrome が見つからないのはなぜですか? 名前にスペースが入っているからでしょうか?Google Chrome の適切な名前を知るにはどうすればよいですか??

4

1 に答える 1

1

Chrome のウィンドウ プロセス ID が Chrome のランチャーの PID と異なるため、ウィンドウ タイトルの pywinauto の内部検索が失敗したようです。最も簡単な方法は、Swapy ヘルパー アプリケーション ( https://code.google.com/p/swapy/ ) を使用することです。これは少し時代遅れですが、それでも機能し、動作するコードを生成するのに役立ちます。少なくとも最初は。Chrome を起動した後に Swapy を実行し、リストでアプリケーションのタイトルを見つけます。アイテムを右クリックして、実行するアクションを選択します。これはコードの例です:

import pywinauto

pwa_app = pywinauto.application.Application()
w_handle = pywinauto.findwindows.find_windows(title=u'New Tab - Google Chrome', class_name='Chrome_WidgetWin_1')[0]
window = pwa_app.window_(handle=w_handle)
window.ClickInput()
于 2015-08-12T01:57:50.700 に答える