
SWAPYã¯ãpywinautoïŒPythonïŒçšã®ã°ã©ãã£ã«ã«UIãªãŒãã¡ãŒã·ã§ã³ãŠãŒãã£ãªãã£ã§ãã
ããŒãžã§ã³
0.4.7ã§ã¯ãã³ãŒããžã§ãã¬ãŒã¿ãŒãå®å
šã«åèšèšãããŠããŸãã äž»ãªæ©èœãããã³UIã®èªåãã¹ãçšã®ã¹ã¯ãªãããè¿
éãã€ç°¡åã«äœæããæ¹æ³ã®äŸã¯ãcatã®äžãåç
§ããŠãã ããã
説æ
SWAPYã¯ããŠã£ã³ããŠã®éå±€ã衚瀺ããpywinautoã©ã€ãã©ãªã®UIãªãŒãã¡ãŒã·ã§ã³ã³ãŒããçæããããã®ã°ã©ãã£ã«ã«ãŠãŒãã£ãªãã£ã§ãã

ååèªäœã¯ãã¢ããªã±ãŒã·ã§ã³ã®äž»èŠãªèãæ¹ã§ããPYthonã®Simple Windows Automationãåæ ããé åèªã§ãã ãã®ãŠãŒãã£ãªãã£ã¯ãPyInstallerã䜿çšããŠã³ã³ãã€ã«ãããå®å
šãªexeãã¡ã€ã«ã§ãã SWAPYã§ã¯ãèªååãšã³ãŒãçæã®ããã®è¿œå èšå®ã¯å¿
èŠãããŸããã ãã¡ãããã³ãŒããããã«äœ¿çšããã«ã¯ãå°ãªããšãPythonãšpywinautoãã€ã³ã¹ããŒã«ããå¿
èŠããããŸãã ããããæ©èœããã¹ãããããã«ããããŠæãéèŠãªããšã¯ããã®ãããªæãã¢ããªã±ãŒã·ã§ã³ã®èªååã«é©ããŠãããã©ããã確èªããããã«ãSWAPYã¯å®å
šã«èªçµŠèªè¶³ã§ãã
ãã®ãŠãŒãã£ãªãã£ã«ã¯ã次ã®3ã€ã®äž»èŠã³ã³ããŒãã³ããå«ãŸããŠããŸãã
- ãªããžã§ã¯ãã®ããªãŒ
- éžæãããªããžã§ã¯ãã®ããããã£ããŒãã«
- ã³ãŒããã£ãŒã«ã
ã¹ã¯ãªãããäœæããã«ã¯ããã¹ãŠã®ã³ã³ãããŒã«ã®ããªãŒã§èŠçŽ ãèŠã€ããŠãããã¯ãªãã¯ãªã©ã®ã¢ã¯ã·ã§ã³ãåŒã³åºãå¿
èŠããããŸãã ãã®å Žåãã¢ã¯ã·ã§ã³èªäœããªããžã§ã¯ãã«å¯ŸããŠå®è¡ãããã³ãŒãã®ãããã£ãŒã«ããæŽæ°ãããŸãã
以åã¯ãã³ãŒããžã§ãã¬ãŒã¿ãŒã«ã¯ã»ãšãã©æ³šæãæãããŠããŸããã§ããã å€ãã®å ŽåãèŠçŽ ãæ€çŽ¢ãããã®ãã©ã¡ãŒã¿ãŒã衚瀺ããæ©èœã䜿çšãããŸããã ã³ãŒããžã§ãã¬ãŒã¿ãŒã®ãã¹ãŠã®ä¿®æ£ãšæ©èœã¯ãæ®å·®ã®ååã«åŸã£ãŠè¿œå ãããŸããã ãã®çµæãæ©èœããã³ãŒããååŸããããã«ããŠãŒã¶ãŒåŽã§äžå®ã®åªåãå¿
èŠã§ãã-ãã¹ãŠã®ç¥å
ãé çªã«åæåããå¿
èŠããããŸããã
æ°ããã³ãŒããžã§ãã¬ãŒã¿ãŒã«ã¯ã以åã®æ¬ é¥ãåºæ¬çã«ãããŸããã
éçºå±¥æŽ
2011幎åé ããªãŒãã¡ãŒã·ã§ã³QAãšã³ãžãã¢ã®ç«å Žã§ã圌ã¯UIãªãŒãã¡ãŒã·ã§ã³ã®ã©ã€ãã©ãªpywinautoãçºèŠããŸããã ã©ã€ãã©ãª
ãOld new pywinautoãã§ã©ã€ãã©ãªèªäœã®æŽå²ã«ã€ããŠåŠã¶ããšãã§ããŸãã åœæãå®éã«ã¯ãµããŒããããŠããŸããã§ããã ãã ããPywinautoã¯ç«¶åä»ç€Ÿããã¹ãŠç ŽããäžçšåºŠã®GUIã®è€éããæã€å€æ°ã®è£œåããã¹ãããããã«éžã°ããŸããã
ãã®ãªãã·ã§ã³ãéžæã®äž»ãªå©ç¹ã§ããããšã«æ³šæããŠãã ããã
- ããŒã«äŸ¡æ Œã Pywinautoã¯ç¡æã§ãGNU LGPL v.2.1ã©ã€ã»ã³ã¹ã®äžã§é
åžãããŸã
- ããã¯Pythonã©ã€ãã©ãªã§ãã ãã¹ãŠã®æ©èœãã©ã€ãã©ãªãªã©ãåããŠããŸã
- ç°å¢ã®ç°¡åãªæºåã Python + pywinautoãã€ã³ã¹ããŒã«ããŠä»®æ³ãã·ã³ããã¹ãçšã«æºåããæ¹ããããšãã°TestCompleteã®ãããªã¢ã³ã¹ã¿ãŒãã€ã³ã¹ããŒã«ãããããã¯ããã«ç°¡åã§ãã ããã¯ãç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ã䜿çšããå Žåã«éåžžã«éèŠã§ãã
ããã«ã1ã€ã®æ¬ ç¹ãçºèŠãããŸãããå¿
èŠãªèŠçŽ ãæ€çŽ¢ãããã®ããããã£ãåæããã®ã«å€ãã®æéãç¡é§ã«ãªããŸããã èŠçŽ ã®ããªãŒãšãã®ãã©ã¡ãŒã¿ãŒã衚瀺ããããã®ã°ã©ãã£ã«ã«ãŠãŒãã£ãªãã£ãæ¬åœã«äžè¶³ããŠããŸããã ã°ã©ãã£ã«ã«ã€ã³ã¿ãŒãã§ã€ã¹ãèªååããã©ã€ãã©ãªã¯ãã°ã©ãã£ã«ã«ã€ã³ã¿ãŒãã§ã€ã¹ãåããŠãããšäŸ¿å©ã§ãã
ãã®äžæ£ãä¿®æ£ããããšã決å®ãããŸããã

2011幎4æã«ãŠãŒãã£ãªãã£ã®äœæ¥ãéå§ããŸããã幎æ«ãŸã§ã«ããŒãžã§ã³ã¯0.3.0ã«æ¥éã«æé·ãããŠãŒãã£ãªãã£ã«ã¯ãã§ã«ãã¹ãŠã®äž»èŠã³ã³ããŒãã³ããš...å€ãã®åé¡ããããŸãã...
ç¿å¹Žã«ããã£ãŠããšã©ãŒã¯åŸã
ã«ä¿®æ£ãããéèŠã§ãªããã®ã远å ãããŸããã ãããŠãç§ã¯èªåèªèº«ã䜿çšããŠããªããŠãŒãã£ãªãã£ããµããŒãããããšã«ä»äºãšé¢å¿ãå€ããŸããã
SWAPYã¯2015幎9æã«pywinautoã®ã¡ã³ããŒãèªåãã¡ã«é»è©±ãããããšãã«2çªç®ã®é¢šãåããŸããã
ãã以æ¥ã圌ã¯åã³ãŠãŒãã£ãªãã£ãç©æ¥µçã«éçºãå§ããŸããã äž»ãªæ¹åç¹ã¯ãæ°ããã³ãŒããžã§ãã¬ãŒã¿ãŒã§ãã
äž»ãªæ©èœã®1ã€ãšããŠã®ã³ãŒãçææ©èœã«å¯Ÿããå§¿å¢ãåèããŸããã ã³ãŒããžã§ãã¬ãŒã¿ãŒã䜿çšããŠãéçºè
ã«ã©ã€ãã©ãªã®è¿œå æ©èœã玹ä»ããçµéšè±å¯ãªéçºè
ã§ããã«ãŒãã³ããæãããšãã§ããŸãã
æ°æ©èœ
- ã³ãŒããžã§ãã¬ãŒã¿ãŒãæ£åžžã«åäœããããã«ãªããŸããã ããã¯ãäœæ¥ããªãŒãååŸããããã«ãªããžã§ã¯ãããªãŒå
ã®ãã¹ãŠã®ç¥å
ãã¯ãªãã¯ããå¿
èŠããªãããšãæå³ããŸãã å¿
èŠãªèŠçŽ ãèŠã€ããŠã¢ã¯ã·ã§ã³ãå®è¡ããã ãã§ãã³ãŒãã¯èªåçã«æ§ç¯ãããŠã€ã³ãââãŒããããŸãã æ°ããããŒãžã§ã³ã§ã¯ã³ã¯ãªãã¯ïŒ
from pywinauto.application import Application app = Application().Start(cmd_line=u'"C:\\Program Files (x86)\\Notepad++\\notepad++.exe" ') notepad = app[u'Notepad++'] notepad.Wait('ready') systabcontrol = notepad.Tab systabcontrol.Select(u'new 1') app.Kill_()
å€ãããŒãžã§ã³ã§ã¯ãåæ§ã®ã¢ã¯ã·ã§ã³ã«ããæ¬¡ã®çµæãåŸãããŸãã
import pywinauto pwa_app = pywinauto.application.Application() ctrl.Select(0)
æããã«ããã®ãããªã³ãŒãã¯æ©èœããŸããã - ãããããã倿°åã åæããŠã
systabcontrol
ctrl
ããããã£ãšæç¢ºã§ãã ååã¯ãã³ã³ãããŒã«ã®ã¯ã©ã¹åã«åºã¥ããŠããŸãã¯ã¢ã¯ã»ã¹ã®ããã®æçåïŒpywinautoããïŒã«åºã¥ããŠåœ¢æãããŸãã ãããã®äž¡æ¹ã®ã±ãŒã¹ã倱æããå Žåã«ã®ã¿ããã§ãŒã¹ã¬ã¹control
ã䜿çšãããŸãã - åã倿°åãå¶åŸ¡ããŸãã åãååã®ç°ãªãã³ã³ãããŒã«ã䜿çšããå¿
èŠãããå ŽåãSWAPYã¯ããããäžæã®ãŸãŸã§ããããšã確èªããŸãã
button = calcframe.Button19 button.Click() button2 = calcframe.Button20 button2.Click()
ããã¯æ¬¡ã®æ®µèœã«é¢é£ããŸãã - åå©çšã éåžžãã¢ã¯ã·ã§ã³ã¯2è¡ã§æ§æãããŸãã åè
ã§ã¯ãã³ã³ãããŒã«ãžã®ã¢ã¯ã»ã¹ãåæåãããåŸè
ã§ã¯ã¢ã¯ã·ã§ã³èªäœãåæåãããŸãã ãã®ãããããæç¹ã§ãæ¢ã«åæåãããŠããã³ã³ãããŒã«ã§ã¢ã¯ã·ã§ã³ãç¹°ãè¿ãå¿
èŠãããå Žåãã¢ã¯ã·ã§ã³ã³ãŒãã®ã¿ã远å ãããŸãã
button = calcframe.Button19 button.Click() button2 = calcframe.Button20 button2.Click() button.Click()
æåŸã®ã³ãã³ãããã£ã³ã»ã«ããŸãã ããšãã°ãå®éšã倱æããåŸãªã©ã«ãæåŸã®ã³ãã³ããåé€ããå¿
èŠãããããšããããããŸãã ããã¯ããšãã£ã¿ãŒã®ã³ã³ããã¹ãã¡ãã¥ãŒããå®è¡ã§ããŸãã ãã®å Žåãæ¶å€±ãã倿°ã®ååã¯è§£æŸãããæ¬¡å䜿çšãããŸãã ä»»æã®æ°ã®ã¹ãããããã£ã³ã»ã«ã§ããŸãã æåŸã®ã³ãã³ãããã£ã³ã»ã«ãããšã³ãŒããã¯ãªã¢ãããã ãã§ãã¢ããªã±ãŒã·ã§ã³ã®ã¢ã¯ã·ã§ã³ã¯ãã£ã³ã»ã«ãããªãããšãçè§£ããå¿
èŠããããŸãã
ãã¹ãŠã®ã³ãŒããäžåºŠã«ã¯ãªã¢ããããšãã§ããŸãããŸãããã¹ãŠã®ã³ãŒãããã¡ã€ã«ã«ä¿åããããšãã§ããŸãã
ãã®å Žã§ã³ãŒãã倿ŽããŸãã çŸæç¹ã§ã¯ããã®æ©èœã¯ãããã¬ãã«ãŠã£ã³ããŠã§app = Application().Start(cmd_line=...
ãšapp = Application().Connect(title=...
ãåãæ¿ããŸãapp = Application().Start(cmd_line=...
app = Application().Connect(title=...
ã»ãšãã©ã®å Žåã Start
ååã§ãããå¿
èŠã§ãªãå Žåã¯åãæ¿ãapp = Application().Connect(title=...
ã¢ããªã±ãŒã·ã§ã³ãéå§ããã«ã¯ããªããžã§ã¯ãåã®ã³ã³ããã¹ãã¡ãã¥ãŒã§ãŠã£ã³ããŠåãã¯ãªãã¯ããŠApplication.Connect
ãéžæããå¿
èŠããããŸãããšãã£ã¿ãŒã®ã³ãŒããæŽæ°ããã Application().Start
ã¡ãœãããžã®ãã€ã³ãã£ã³ã°ãæ¶ãApplication().Start
ã³ãã³ãcalcframe.Wait('ready')
at app.Kill_()
and app.Kill_()
æåŸã«ã
ã¢ããªã±ãŒã·ã§ã³ãéå§ãããµã³ãã«ã³ãŒãã
from pywinauto.application import Application app = Application().Start(cmd_line=u'"C:\\Program Files (x86)\\Notepad++\\notepad++.exe" ') notepad = app[u'Notepad++'] notepad.Wait('ready') app.Kill_()
ãã§ã«å®è¡äžã®ã¢ããªã±ãŒã·ã§ã³ã«æ¥ç¶ããŸãã
from pywinauto.application import Application app = Application().Connect(title=u'new 1 - Notepad++', class_name='Notepad++') notepad = app[u'Notepad++']
䜿çšäŸ
次ã«ããã¹ããèªååããããã®ã¹ã¯ãªãããäœæããŠã¿ãŸãããã ç§ã¯ååãªäººçã®äŸãéžæããåæã«ã³ãŒããžã§ãã¬ãŒã¿ãŒã®æ°ããæ©èœãå®èšŒããããšããŸããã
ã©ã€ã»ã³ã¹ããã¹ã
ãã®ãã¹ãã§ã¯ã[About]ãã€ã¢ãã°ã«ã©ã€ã»ã³ã¹ããã¹ãã衚瀺ãããããšã確èªããŸãã åæã«ãæ°ãããŠã£ã³ããŠãå€ãã¢ããªã±ãŒã·ã§ã³ã«å±ããäžèŠãªåŒã³åºã
app = Application().Start(...)
äœæããªãããšãSWAPYãçè§£ããŠããããšã確èªããŠãã ããã
ã©ã€ã»ã³ã¹ããã¹ãã®ç¢ºèª- Notepad ++ãæåã§èµ·åããŸãã
- SWAPYèŠçŽ ã®ããªãŒã§å¿
èŠãªã¡ãã¥ãŒé
ç®ãèŠã€ããŠã¯ãªãã¯ããŸãã

- èŠçŽ ããªãŒãæŽæ°ããŠæ°ããéãããŠã£ã³ããŠã衚瀺ããã«ã¯ãããªãŒå
ã®
root
èŠçŽ ã«éžæã眮ãå¿
èŠããããŸãã ãã®å Žåããã¹ãŠã®åèŠçŽ ãæŽæ°ãããŸãã - ååãéåžžã®æ¹æ³ïŒ
window.Texts()
ïŒã§æ±ºå®ãããŠããªãããããã®SWAPYèªäœããŠã£ã³ããŠã®ãã³ãã«ããååã圢æããŸããã - ãã€ã¢ãã°ã®éå±€ã«ã€ããŠã§ãã©ã€ã»ã³ã¹ããã¹ããèŠã€ããŠã¯ãªãã¯ããŸãã

次ã®è¡ã®ã¿ã远å ãããŸããã
window = app.Dialog edit = window.Edit2 edit.Click()
ã€ãŸã SWAPYã¯æ¢åã®app
倿°ã䜿çšããŸããã ãã®ãã¹ãçšã«èªåçæãããã³ãŒãã§ãå®äºã§ãã Notepad ++ã¯ãã¹ãåŸã«èµ·åããã³çµäºããããšã«æ³šæããŠãã ããapp.Kill_()
æåŸã®è¡ããããæ
åœããŸãã
æçµçãªãã¹ãã³ãŒãã¯æ¬¡ã®ããã«ãªããŸãã
from pywinauto.application import Application expected_text = â...â app = Application().Start(cmd_line=u'"C:\\Program Files (x86)\\Notepad++\\notepad++.exe" ') notepad = app[u'Notepad++'] notepad.Wait('ready') menu_item = notepad.MenuItem(u'&?->\u041e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435...\tF1') menu_item.Click() window = app.Dialog edit = window.Edit2 actual_text = edit.Texts() app.Kill_() assertEqual(expected_text, actual_text)
ã芧ã®ãšãããæå°éã®ãã€ãã£ãã³ãŒãã
ã¿ãé
ç§»åããã¿ãã確èªããŸãããã ã³ãŒããçæããéã«æ
æã«ãã¹ãç¯ããSWAPYããããåé€ããæ¹æ³ã確èªããŸãã
ã¿ãé åºã®å€æŽã確èªãã- Notepad ++ãæåã§èµ·åããŸãã
- 远å ã®2ã€ã®ã¿ããéããŸãã èŠçŽ ããªãŒã§å¿
èŠãª
ToolBar
ãèŠã€ããã€ã³ããã¯ã¹0ã®ãã¿ã³ã«å¯ŸããŠClick
ã¢ã¯ã·ã§ã³ãå®è¡ããŸãããã®çµæãã³ãŒãã衚瀺ããã1ã€ã®æ°ããã¿ããéããŸãã

å¥ã®ã¿ããå¿
èŠã§ããããäžåºŠã¢ã¯ã·ã§ã³ãç¹°ãè¿ããŠãã ããã ãã¿ã³ããã¹ãã¯äœ¿çšã§ããªããããã€ã³ããã¯ã¹ã«ããã¢ãã¬ã¹æå®ã䜿çšãããŸãã æ°ã¥ããã«ãã€ã³ããã¯ã¹1ã®ãã¿ã³ã誀ã£ãŠã¯ãªãã¯ããŸããã
远å ãããã³ãŒãïŒ

toolbar_button2 = toolbarwindow.Button(1) toolbar_button2.Click()
ä¿®æ£ããå¿
èŠããããŸãã ç¹°ãè¿ããç¹°ãè¿ããªãããã«ãSWAPYã§ã¯æåŸã®ã³ãã³ããå
ã«æ»ãããšãã§ããŸãïŒå°ãªããšããã¹ãŠã®ã³ãŒããé£ç¶ããŠå
ã«æ»ãããšãã§ããŸãïŒã
Clear last command
ãClear last command
ãããšãæåŸã®ã³ãã³ãïŒåŒ·èª¿è¡šç€ºããããã©ã°ã¡ã³ãïŒãå
ã«æ»ããŸã-å¿
èŠãªã ãã§ãã ã³ãŒããå®å
šã«ã¯ãªã¢ããã«ã¯ã Clear the code
ã³ãã³ãããããŸãã è·å Žã§ã®äºæ
ãé²ããããå®å
šãªã¯ãªãŒãã³ã°ã¯ç¢ºèªãã€ã¢ãã°ã®åŸãã«é ããŠããŸãã
ããã§ãã¹ãŠãæ£ããè¡ããã€ã³ããã¯ã¹0ã®ãã¿ã³ãã¯ãªãã¯ããŸãã
ã³ãŒãã远å ãããŸãïŒ
toolbar_button.Click()
SWAPYã¯ããã§ã«toolbar_button = toolbarwindow.Button(0)
ããã2åç®ã®ã¯ãªãã¯ã§åæåããå¿
èŠããªãããšãèŠããŠããŸãã
- ãã©ãã°ã¢ã³ãããããã§ã¯ã
toolbarwindow.DragMouseInput
ã¡ãœããã䜿çšããŸãã äœ¿çšæ³ã®è©³çްã¯ã ããã¥ã¡ã³ãã«èšèŒãããŠããŸã ã
ã¿ã座æšã¯systabcontrol.GetTabRect(0).mid_point()
ã䜿çšããŠæ±ºå®ã§ããŸã
ãã¹ãã¯æ¬¡ã®ããã«ãªããŸãã
ããã§ã¯ãå°ãã®ããã¥ã¡ã³ããèªãã§ãçæãããã³ãŒããå°ãæäœããå¿
èŠããããŸããã
ããã¹ããæ¿å
¥ããŠä¿åãã
ãã¹ãã§ã¯ãããã¹ããã³ããŒããŠè²Œãä»ããŠããä¿åããå¿
èŠããããŸãã ã¿ã¹ã¯ãè€éã«ããŸããã-Notepad ++ã¯æ¢ã«å®è¡ãããæå°åïŒæå°åïŒãããŠãããæšæºã®ã¡ã¢åž³ïŒã³ããŒã®å®è¡å
ïŒã¯ãŸã èµ·åãããŠããŸããã
è€æ°ã®ãŠã£ã³ããŠã§äœæ¥ãã- ãã¹ãã¢ããªã±ãŒã·ã§ã³ãæºåããŸãã Notepad ++ãå®è¡ããŠæãããã¿ããã¹ããã¡ã€ã«= "notepad check.txt"ã§éåžžã®ã¡ã¢åž³ãå®è¡ããŸãã
- ãªããžã§ã¯ãã®ããªãŒã§ããŒãããã¯ãèŠã€ãããšãã£ã¿ãŒã®ã³ã³ãã³ããã¯ãªãã¯ããŸãã

ã¡ã¢åž³ã¯å
ã®åŒæ°ã§èµ·åãããããšã«æ³šæããŠãã ããã - ããã§ãã¡ã¢åž³++ãšãã®ããã¹ãããã¯ã¹ãèŠã€ãããŸããã æåã«å±éããããšãå¿ããªãã§ãã ããïŒåŸ©å
ïŒã


ãã¹ãŠãèšç»éãã«é²ã¿ãŸãããçªç¶ãã¿ã¹ã¯ã®æ¡ä»¶ã«åŸã£ãŠãNotepad ++ãæ¢ã«å®è¡ãããŠããŠãã³ãŒãããããå®è¡ããããšããããšãæãåºããŸããã
SWAPYã¯ããã©ã«ãã§app = Application().Start ... app.Kill_()
æãçæããŸãã ãã ãããã®å ŽåãNotepad ++ãå床å®è¡ããå¿
èŠã¯ãããŸããã
æ°ããã³ãŒããžã§ãã¬ãŒã¿ãŒã䜿çšãããšããã¢ãããŒããã倿ŽããŠã³ãŒããçæã§ããŸããããã¯äºåŸçã«è¡ãããšãã§ããŸãã Application().Start
ã倿Žããã«ã¯ã Application().Start
Application().Connect
ãŸãApplication().Connect
ããã«ã¯ãã¡ã¢åž³++ã¢ããªã±ãŒã·ã§ã³ãŠã£ã³ããŠã®ã³ã³ããã¹ãã¡ãã¥ãŒãåŒã³åºãã Application().Connect
ãéžæããå¿
èŠãããApplication().Connect
ã

- ããã¹ããã³ããŒããŠè²Œãä»ããŸããåŸã§çºè¡ããŸãããããã§ããã¹ããä¿åããå¿
èŠããããšããŸãã

- [ååãä»ããŠä¿å]ãŠã£ã³ããŠãéããŸããã衚瀺ããã«ã¯ãèŠçŽ ããªãŒãæŽæ°ããå¿
èŠããããŸãã ãããè¡ãã«ã¯ãããªãŒã®ã«ãŒãèŠçŽ ãéžæããŸãã ããªãŒãæŽæ°ããåŸãä¿åãããã¡ã€ã«ã®ååã®ãã£ãŒã«ããã¯ãªãã¯ããŠïŒåŸã§å€æŽããããïŒãä¿åãããã¿ã³ãã¯ãªãã¯ããŸãã

ãã¹ãŠã®äž»èŠãªã¢ã¯ã·ã§ã³ããããŸãããçŸåšã¯CTRL + CãCTRL + Vã³ãã³ãã®éä¿¡ãããã³å®éã®ãã¹ããååŸããããã®ãã§ãã¯ã远å ããŸãã
ã³ãã³ããéä¿¡ããã«ã¯ãçµã¿èŸŒã¿ã®
TypeKeysã¡ãœããã䜿çšããŸãã
以äžã«å
šæã瀺ããŸãã
ããã¯ããã«è¯ãã§ããïŒ
ãã¡ãã-ã¯ãïŒ
説æããäŸã§ãã
Click()
ãå®è¡
Click()
ãŠãããããã¹ããåä¿¡ããããã«æåã§å€æŽããå¿
èŠããããŸãã
Texts()
ã ãŸãã¯ãæåã§
TypeKeys
ã远å ã
TypeKeys
ã å°æ¥ã®ãªãªãŒã¹ã§ã¯ãã³ã³ããã¹ãã¡ãã¥ãŒã«é
ç®ã远å ããããšã§ããã®ãããªäººæ°ã®ããã¢ã¯ãã£ããã£ããŸã ç°¡çŽ åããŠããŸããã
ã¢ã€ãã ã«ã¢ã¯ã»ã¹ããããã®åœ¢åŒãå¶åŸ¡ããããšã¯ãŸã ã§ããŸããã Pywinautoã§ã¯ã屿§
window.Edit
ã䜿çšããŠèŠçŽ ã«ã¢ã¯ã»ã¹ã§ããŸãããããäžå¯èœãªå ŽåïŒPython倿°ã®ååãç¡å¹ïŒã
__getitem__
window[u'0']
ãŸãã
SWAPYã¯ãã¢ã¯ã»ã¹ã®ããã®æçã®ååãèŠã€ããããã屿§ãšããŠäœ¿çšããããšããŸãã åäœããªãå Žåã¯ã
__getitem__
ãŸãã ãããŸã§ã®ã¢ã€ãã¢ã¯æãç°¡åã§ã-çãã³ãŒããååŸããŸãã
ããããããšãã°ããTab Orderãã®ãã¹ãã§ã¯ããã®ãããªè¡
toolbarwindow = notepad[u'3']
ãŸãã ãã¹ãŠãæ©èœãããã¹ãŠãOKã§ãã ããããæ³åããŠã¿ãŠãã ããããã°ããããŠãã®ãã¹ããéãããšããããã®ãããªéæ³ã®æ°åããããŸãã ããªãã«ã®ä»£ããã«ã
Toolbar
ããã
Toolbar
-æãçè§£ãããããæçã®ååã§ã¯ãããŸããã èšç»ã§ã¯ããŠãŒã¶ãŒã«ååïŒãNameïŒNameãsisterïŒãïŒãéžæããæ©äŒãäžããŸãã
ãŸãããªããžã§ã¯ãã®ããªãŒãæåã§æŽæ°ããå¿
èŠããããŸãã èªåæŽæ°ã¯æããã«å©äŸ¿æ§ã远å ããŸãã
䟿å©ãªãªã³ã¯
PS
æ°ããã³ãŒããžã§ãã¬ãŒã¿ãŒã®æ©èœã®è°è«ã«ç©æ¥µçã«åå ããŠããã
-v-ryabovãš
airelilã®ä»²éã«ãæè¬ããŸãã