ãPythonã§èªååãšãèããŠæ¥œãããã ãšæããŸãããïŒ
ä»åã玹ä»ããå
容ã¯ãçµæ§äŸ¿å©ãªèªååã®æ¹æ³ãªã®ã§ãèŠããŠãããšè²ã
ãªãšããã§äœ¿ããŸãã
ãèªååã®1æ©ç®ãšããŠãæé©ã§ãã
ãã®èšäºã«æžããŠããããšããã¹ã¿ãŒããããšã§ãã人ã®äœæ¥ããèªååããããšãå¯èœã§ãã
ãä»åã玹ä»ããå
容ã¯ãã人ã®äœæ¥ãã®èªååã§ãã
å
·äœçã«ã¯ä»¥äžã®2ç¹ã§ãã
ã人éã¯ãã®2ã€ã®æäœãããŠããœã³ã³ãå¶åŸ¡ããŠããŸãããïŒ
ã€ãŸãããã®2ã€ã®æäœãããã°ã©ãã³ã°äžã§åçŸããããšãã§ããã°ã
ã人ã®äœæ¥ããèªååã§ãããšããããã§ãã
ãããã€ãæ¹æ³ã¯ãããšæããŸããã
ä»åã¯Pythonã䜿ã£ãŠWindowsã®PCãå¶åŸ¡ããæ¹æ³ã玹ä»ããŸãã
ãã¿ã€ãã«ã«æçµæ段ãšæžããŠããŸããã
å®ã¯ãã®æ¹æ³ã¯ãè¥å¹²ãã«ã©ã¯ã¶ãªãšããããããŸãã
ãã®ããæçµæ段ãšããŠããŸãã
ããªããã®æ¹æ³ããã«ã©ã¯ã¶ã§æçµæ段ãªã®ãã«ã€ããŠã¯ã
åŸåã§èª¬æããŠããŸãã®ã§ãæåŸãŸã§ã芧ãã ããã
Pythonã䜿ã£ãŠäººéã®äœæ¥ãèªååããæ¹æ³ãç解ã§ããã
Youtubeãã£ã³ãã«ã«ããŸããŸãªåç»ãäžããŠããŸãã
âââãã¡ãããYoutubeãã£ã³ãã«ã«ã¢ã¯ã»ã¹!! âââ
æ¬ããã°ã¯ã¢ãã£ãªãšã€ããçšããåºåãæ²èŒããŠããŸãã
Pythonãèµ·åããã
ããŸãã¯Pythonãèµ·åããŸãããã
以åã®èšäºã§Pythonã䜿ããªããVisualStudioCodeãšãããšãã£ã¿ãŒã䜿çšããã®ã
ãããããšãäŒãããŸããããçŸåšã§ãå€ãã£ãŠããŸããã
ãanacondaã§ãjupiyerã§ãã§ããŸããã
ä»ã®ããã°ã©ãã³ã°èšèªã䜿çšããŠããå Žå(C#ãC++)VisualStudioãšäŒŒããããªäœ¿çšæãªã®ã§ã
䜿ãããããšããç¹ã§ãªã¹ã¹ã¡ã§ããŸãã
ã以åã®èšäºã匵ãä»ããŠãããŸããââ
ãVisualStudioCodeã¯MicroSoftã補äœããŠãããç¡æã§æäŸãããŠããŸãããã
ä¿¡é Œã§ããçºè¡å
ã§ç¡åãããã¯äœ¿ããªãæã¯ãªãã§ãããã
pyautoguiã§ã§ããããšã確èªããã
ãã§ã¯ãæ©épyautoguiãå°å
¥ããã®ã§ããã
ãã®åã«pyautoguiã§äœãã§ããã®ãïŒããããã£ããææ¡ããŠããããšãå¿
èŠã§ãã
âãã¡ããpyautoguiã®å ¬åŒã®ããŒãžã§ãã
pyatuoguiã¯pipã§ã€ã³ã¹ããŒã«ããŸãã®ã§ã
ãã®å
¬åŒããŒãžããäœãããŠã³ããŒãããå¿
èŠã¯ãããŸããã
pyautoguiã®å ¬åŒããŒãžã«èŒã£ãŠããå 容ã解説ã
pyautoguiã®å ¬åŒããŒãžã«æžããŠããããšãæç²ããŸããâ
PyAutoGUI has several features:
https://pyautogui.readthedocs.io/en/latest/
- Moving the mouse and clicking in the windows of other applications.
- Sending keystrokes to applications (for example, to fill out forms).
- Take screenshots, and given an image (for example, of a button or checkbox), and find it on the screen.
- Locate an applicationâs window, and move, resize, maximize, minimize, or close it (Windows-only, currently).
- Display alert and message boxes.
å
¬åŒããŒãžã¯è±èªã§ããæ¥æ¬èªã«ç¿»èš³ãããã®ãèŒããŠãããã£ãã®ã§ããã
誀ã£ãæ
å ±ãèŒããã®ã¯ãŸããã®ã§åæãã®ãŸãŸèŒããŠããŸãã
ããã«æžããŠããå 容ããã£ãã解説ããŸãã
ã§ããããšã¯ã
ãããã ãã ãšã€ã¡ãŒãžã§ããªããããããŸãããã¡ãã£ãšäŸãæããŠèª¬æããŸãããã
ä»åã¯äžèšã®ãã¡ãäžäºã€ã«ã€ããŠè§£èª¬ãè¡ããŸãã
ä»ã®ã¢ããªã®ãŠã£ã³ããŠå ã«ããŠã¹ãåãããããã¯ãªãã¯ãããããšãã§ããã
ãããã§ããä»ã®ã¢ããªãšã¯ãpythonã§çŽæ¥æäœããŠããªããã®ãæããŸãã
åºæ¬çã«ç»é¢äžã«è¡šç€ºãããŠãããšããã§ããã°ã©ãã§ãããŠã¹ã«ãŒãœã«ã移åã§ããŸãã
ãããã«ãã«ãŒãœã«ã移åãããã ãã§ã¯ãªããå·Šã¯ãªãã¯ãå³ã¯ãªãã¯ãªã©ãå®è£
ãããŠããŸãã
å®éã«ããŠã¹ã«ãŒãœã«ãèªåã§åãããŠããåç»ã¯ãã¡ãââ
ãã¡ãã£ãšã¯ãªãã¯ããåäœããèŠããããã£ãã®ã§ç°¡åãªã¢ããªã±ãŒã·ã§ã³ãäœæããŸããã
ããã¯ãã¿ã³ãæŒããšã¡ãã»ãŒãžããã¯ã¹ã衚瀺ããã
ãã®ã¡ãã»ãŒãžããã¯ã¹ããã¿ã³ãã¯ããŒãºãããåäœãèªååããŠããŸãã
ãã®åç»ã¯ãã¡ãâââ
ä»ã®ã¢ããªäžã§ããŒããŒãå ¥åãè¡ããã
ãããŠã¹æäœãã§ããã®ã§ãä»åºŠã¯ããŒããŒãå
¥åã§ãã
å
ã»ã©äœæããã¢ããªã«ããã¹ãããã¯ã¹ãäœæããã®ã§ããã¡ãã«æåå
¥åãããŸãã
ãå ·äœçã«ã¯ãabc123ãšæã¡èŸŒã¿ãŸãã
å®éã«å ¥åããŠããæ§åã¯ãã¡ãââ
ãäžç¬ã§abc123ãšããæåãå
¥åãããŠããã®ãããããŸããã
pythonã§å
¥åäœæ¥ããã£ãŠãããŠããã®ã§ã
人éãããŒããŒãã§ã¿ã€ãã³ã°ãããããé«éã§ãã¿ãããã¹ããªãã®ã§æ£ç¢ºã§ãã
ãã¿ã€ãã³ã°ç·Žç¿ã®ãµã€ããªã©ã§ããã䜿ããšã
人éã®åºããã¹ããŒããã¯ããã«åé§ããŸãã®ã§ã
枬å®äžèœã«ãªãããšã…
ã䟿å©ãªããŒã«ã§ãããæ£ãã䜿ãæ¹ãããŠãã ããã
pyautoguiãã€ã³ã¹ããŒã«ããã
ããŠãVisulaStudioCodeãèµ·åãããšããã§ããŸãã¯ã³ã³ãœãŒã«ã§pyautoguiã
䜿ããããã«pipãããŸãããã
pip install pyautogui
ãããã ãã§ãã
ããã§pyautoguiã䜿ãæºåã¯å®äºã§ãã
ãã€ã³ã¹ããŒã©ã®ããŠã³ããŒããªã©äžèŠãªã®ã§ç°¡åã§ããã
ã¡ãªã¿ã«VisulaStuidioCodeã®å Žåã¯ãã³ã³ãœãŒã«ã¿ãã®ãšããã§å
¥åããŸãã
![pyautoguiInstall](https://www.hobbyhappyblog.jp/wp-content/uploads/2022/11/pyautoguiInstall.jpg)
ããã®ã³ãã³ããæã¡èŸŒãã§å®è¡ããããšã§ã
ãã®ããã«èªåçã«ããŠã³ããŒããšã€ã³ã¹ããŒã«ãè¡ãããŸãã
![pyautoguiInstall-vscode](https://www.hobbyhappyblog.jp/wp-content/uploads/2022/11/pyautoguiInstall-vscode-1024x793.png)
ãpipãéããªããšãã¯ããã¹ããã£ããpythonã®å
¥ã£ãŠãããã©ã«ããæå®ããŠããã
確èªããŸãããããžããªãšããã«ãããšpipãéããªãããšããããŸãã
ãç°å¢å€æ°ã«ãããããpipãå ¥ããŠããã®ãã¢ãªã ãšæããŸãã
å®éã«pyautoguiã䜿ã£ãŠèªååããŠã¿ãã
ãããŠããããŸã§æ¥ããåŸã¯å®éã«pyautoguiã䜿ã£ãŠã¿ãŸãã…
ãã®åã«æ³šæç¹ããããŸããããªãéèŠãªã®ã§å¿
ãèŠããŠãããŠãã ããã
ããã®æ³šæç¹ã¯ãpyautoguiãèµ·åããŠwileæã®ãããªç¡éã«ãŒããå®è¡ããå Žåã
ããŠã¹ãšããŒããŒãã®å¶åŸ¡ãpythonã«åãããŸãã®ã§ã
ãã®æ¹æ³ãç¥ããªããšãããŠã¹ãšããŒããŒãæäœãã§ããªããªããŸãã
ããããªæã¯ãããŠã¹ã«ãŒãœã«ã®ã¿å¶åŸ¡ãåãããŠããå Žåã¯ã
shiftããŒ+F5ããŒ
ãããã§VisulaStudioCodeã®å®è¡ãäžæãããŠå¶åŸ¡ãåãæ»ããŸãã
ããã ããVisualStudioCodeã®ãŠã£ã³ããŠãã¢ã¯ãã£ãã«ãªã£ãŠããªãå Žåã¯ã
ãã®æ¹æ³ã¯äœ¿ããŸããã
ãäŸãã°ãããŠã¹ã¯ãªãã¯æ©èœã䜿ã£ãŠä»ã®ãŠã£ã³ããŠãã¢ã¯ãã£ãã«ããŠããå Žåã§ããã
ãããªãšãã¯ã
CtrlããŒïŒAltããŒïŒDeleteããŒ
åææŒãããŠäžããããããšãããã¯ãããã°ãªããªã©ã®éžæç»é¢ã«ãªããšæããŸãã
![CtlrããŒ+AltããŒ+DeleteããŒã§è¡šç€ºãããç»é¢](https://www.hobbyhappyblog.jp/wp-content/uploads/2022/11/image-8.png)
ããã®ç¶æ
ã§ãã£ã³ã»ã«ãã¿ã³ãæŒããšãpythonåŽã§ãšã©ãŒã匷å¶çã«åºãããšã§äžæã§ããŸãã
ãã£ã³ã»ã«ã§å€§äžå€«ã§ãããã°ãªããããã¯ã¯ããªããŠå€§äžå€«ã§ãã
ã䟿å©ã«äœ¿ãããšããŠèªååããããšããŠããã®ã«ã
å¶åŸ¡ã奪ãããŠäžæã§ããªããšããã®ã¯ã¡ãã£ãšã«ãã³æªãã§ãããã…
ããã®æ¹æ³ã¯å¿ ãèŠããŠããŠãã ããããçµæ§äœ¿ããŸãã®ã§ã
ããŠã¹ã«ãŒãœã«ãæå®ã®äœçœ®ã«ç§»åããã
ãããã§ã¯ãpyautoguiã§ããŠã¹ã«ãŒãœã«ãåããæ¹æ³ãã玹ä»ããŸãã
åç»ã§çŽ¹ä»ããŠããå
容ã®ãœãŒã¹ã³ãŒãã¯ãã¡ãã§ãã
ãããŠã¹ã«ãŒãœã«ã移åãããã«ã¯ã
pyautogui.moveTo(X座æš,Y座æš)
ããã®é¢æ°ã䜿çšããŸãã
X座æšãšY座æšã«é¢ããŠã¯ãããœã³ã³ã®ãã£ã¹ãã¬ã€å
ã®åº§æšç³»ã§ãã
ããŠãããã§çåã«æãã®ããæŒããã座æšãã©ãã«ããã®ãïŒãšããçåã§ãããã
ãããã解決ããããã«ã¯æ¬¡ã®ç« ã®ããŠã¹ã«ãŒãœã«ã®åº§æšãååŸãã
æ¹æ³ã䜿ãããšã§è§£æ±ºã§ããŸãã
ããŠã¹ã«ãŒãœã«ã®åº§æšãååŸããã
ãããŠã¹ã«ãŒãœã«ã®åº§æšãååŸããããšã§ãä»ããŠã¹ã«ãŒãœã«ãã©ãã«ããã®ãããããŸãã
ãã®æ©èœã䜿ãããšã§ããããããã©ãã«ã«ãŒãœã«ãæã£ãŠããã決ããããšãã§ããŸãã
ã䜿çšããã«ã¯ã
pyautogui.position()
ããã®é¢æ°ã䜿ããŸãã
ãããã ãã ãšã¡ãã£ãšäœ¿ãã«ããã®ã§ãã³ã³ãœãŒã«ã«1ç§ããšã«
ããŠã¹ã«ãŒãœã«ã®åº§æšã衚瀺ããããµã³ãã«ã³ãŒãã瀺ããŠãããŸãã
import pyautogui
import time
while(True):
x, y = pyautogui.position()
positionStr = 'X: ' + str(x).rjust(4) + ' Y: ' + str(y).rjust(4)
print(positionStr)
print('\b' * (len(positionStr) + 2))
time.sleep(1)
å®éã«åäœããããšãã®çµæãåç»ã«ããŸããã®ã§ã芧ãã ãããââ
ã1ç§ããšã«X:ããY:ããšè¡šç€ºãããŠããã®ãããããŸããã
ãã®ãã®å€ãçŸåšã®ããŠã¹ã«ãŒãœã«ã®åº§æšã§ãã
ãããŠã¹ã«ãŒãœã«ã®åº§æšã¯ããã£ã¹ãã¬ã€äžã®åº§æšã§ãããã
4Kã®ã¢ãã¿ãŒã䜿ã£ãŠããã®ããFHDã®ã¢ãã¿ãŒã䜿ã£ãŠãããã§å€§ããäœçœ®ãå€ãããŸãã
ãã§ããããããã§ååŸãã座æšã¯ã
ã©ããªããœã³ã³ã§ãåãã§ã¯ãªãã®ã§æ³šæãå¿
èŠã§ãã
ããŠã¹ã§æå®äœçœ®ãã¯ãªãã¯ããã
ãããŠãã©ããå®éã«ããŠã¹ãæã£ãŠãããããåãã£ããšããã§ã
å®éã«ã¯ãªãã¯ããŠã¿ãŸãããã
ãããŠã¹ã§å·Šã¯ãªãã¯ããã®ã¯ã
pyautogui.click(X座æš,Y座æš)
ããã®é¢æ°ã§å®çŸå¯èœã§ãã
åŒæ°ã®X座æšãšY座æšã«ã¯ãå
ã»ã©pyautogui.positionã§ååŸããå€ãå
¥ããããšã«ãªããŸãã
ããã®pyautogui.clickã¯ã移åãå«ããŠè¡ã£ãŠãããã®ã§ãpyautogui.moveTo()ã¯äžèŠã§ãã
ã«ãŒãœã«ãç¬æã«æå®ããäœçœ®ã«ç§»åããŠã¯ãªãã¯ããŠãããŸãã
ãå®éã®åäœã«ã€ããŠã¯å
ã»ã©åç»ã§ã芧ããã ãããšæããŸãã®ã§ã
ãœãŒã¹ã³ãŒãã®ãµã³ãã«ã瀺ããŠãããŸãã
import pyautogui
import time
while(True):
pyautogui.click(510,350)
time.sleep(1)
pyautogui.click(1937,1125)
time.sleep(1)
ããã®(510,359)ã¯ç»é¢äžã®UPã®ãã¿ã³ã®åº§æšã
(1937,1125)ã¯ã¡ãã»ãŒãžããã¯ã¹å
ã®OKãã¿ã³ã®åº§æšã§ãã
ãããã®æ°å€ããã¯ãªãã¯ããåæ°ã¯ã³ããŒ&ããŒã¹ãããã°ãããã§ãå¢ããããšãå¯èœã§ãã
ããŒããŒãå ¥åãèªåã§è¡ãã
ãæåŸã«ããŒããŒãå
¥åãèªååããŸãããã
ããŒããŒãå
¥åã¯åãããŒãæŒãã«ããŠãå§åçã«èªåã§å
¥åããã»ããæ©ãã§ãã
ãã¿ã€ããã¹ãèµ·ãããŸããããå§åçã«å¹çãè¯ãã§ãã
æåã«ã€ããŠã¯å
ã»ã©åç»ãäžããŠããŸãããããã®ãœãŒã¹ã³ãŒãã«ã€ããŠç€ºããŸãã
ãããŒããŒãå ¥åã«ã¯ã
pyautogui.write("å
¥åãããæå")
ãpyautogui.write()ãšããé¢æ°ã䜿çšããŸãã
å
·äœçãªäœ¿çšæ¹æ³ã«ã€ããŠã¯ãã¡ãââ
import pyautogui
import time
while(True):
pyautogui.click(694,451)
time.sleep(3)
pyautogui.write("abc123")
time.sleep(3)
ãäžåç®ã«pyautogui.click()ãå
¥ã£ãŠããŸããã
ããã¯ããã¹ãããã¯ã¹ãã¯ãªãã¯ããŠãããã¹ãããã¯ã¹ãã¢ã¯ãã£ãã«ããäœæ¥ã§ãã
ã¢ã¯ãã£ãã«ããªããšãã©ãã«ãå
¥åãããŸããã
ãããåžžã«ããã¹ãããã¯ã¹ãã¢ã¯ãã£ãã«ãªã£ãŠããããã ã£ããã
ãã®pyautogui.click()ã¯äžèŠã§ãã
ããããã¯ãäžåºŠã¢ã¯ãã£ãã«ããŠä»ã®ãšãããã¢ã¯ãã£ãã«ããäºå®ããªãã®ã§ããã°ã
pyautogui.click()ã¯1åã ãè¡ãã°OKã§ãã
ããã®æäœã¯äººéãè¡ã£ãŠãçºçããŸãããã
ããã¹ããå
¥åããããšããããäžåã¯ãªãã¯ããã
ãã®ããšããŒããŒãã§å
¥åäœæ¥ãããã
ãã®äžé£ã®æµããèªååããããšããããšã§ãã
pyautoguiã®æ³šæç¹ã
ãããŠãå
ã»ã©æ³šæç¹ãšããŠããŠã¹ãšããŒããŒãæäœãpythonã«åãããŠããŸãå Žåã®ã
察åŠæ¹æ³ã«ã€ããŠè§£èª¬ããŠããŸããããããã¯çµæ§æ·±å»ãªåé¡ã«ãªãããšããããŸãã
ããšããã®ããèªååã¯èªååãªã®ã§ãããå®ã¯ãã®èªååãèµ·åäžã¯ã
ä»ã®äœæ¥ãã§ããŸããã
ãå®è¡ããŠã¿ãã°ããããŸãããããŠã¹ãšããŒããŒãæäœã決ããããã¿ã€ãã³ã°ã§çºåããããã
ä»ã«äŸãã°ãšã¯ã»ã«ã§æ°å€èšç®ãããããªããã¯ãŒãã€ã³ãã§è³æäœããããããªã
ãšããå Žåã¯ããŠã¹ãããŒããŒããpythonã«å¶åŸ¡ãåãããŠããã®ã§ãŸãšãã«åãããŸããã
ããã®æ³šæç¹ãä»åã®é¡åã«ããéããæçµæ段ãšè¡šçŸããŠããæ倧ã®çç±ã§ãã
èªååãããšãããšã人ã®ä»£ããã«åæã«ãã£ãŠããããšããã®ãäžéäžè¬ã®ç解ã ãšæããŸãã
ããããã«äººã®ä»£ããã«èªåã§ãã£ãŠãããã®ã§ããã
ãã®éããœã³ã³ã§å¥ã®äœæ¥ãã§ããªããªããšããã®ã¯æ¬åœã®æå³ã§ã®èªååãªã®ãïŒïŒ
ãšããããã§ããã
ãã ãã®pyautoguiã䜿ãããšã§ãå®éã®äººéãè¡ã£ãŠããäœæ¥ããã¬ãŒã¹ããããšãå¯èœãªã®ã§ã
å€éšçã«å¶åŸ¡äžèœãªãäŸãã°ããã䜿ã£ãŠã»ãããšæž¡ãããã¢ããªã±ãŒã·ã§ã³ãªãããã
èªåã§åããããã«ã¯åŒ·åãªããŒã«ã«ãªããŸãã
ãã¢ããªã±ãŒã·ã§ã³ã®èªååã«ãããŸããŸãããŸããã
äŸãã°èªåã§äœæããã¢ããªã±ãŒã·ã§ã³ã«ãå¥ã®ã¢ããªã±ãŒã·ã§ã³ã®åäœãè¡ããããããªå Žåã
å¥ã®ã¢ããªã±ãŒã·ã§ã³ã«ã©ã€ãã©ãªã®ãããªãã®ãçºè¡ãããŠããããšãå€ããšæããŸãã
ãã§ããããå¥ã®ã¢ããªã±ãŒã·ã§ã³ã®ã©ã€ãã©ãªãåã蟌ãããšã§
è£ã§åæã«åãããšããããšãå¯èœãªããã§ããã
ä»åã®èšäºã®ãŸãšãã
ä»åã¯pyautoguiã®åºæ¬æ©èœã«ã€ããŠè§£èª¬ããŸããã
èªååã®ç¬¬äžæ©ãšããŠãã®æ¹æ³ã䜿ãã®ã¯è¯ããšæããŸãã
ã人éãè¡ãäœæ¥ãšãŸã£ããåãããšãããŠã¹ãšããŒããŒãã䜿ã£ãŠåçŸã§ããã®ãã
æ倧ã®ç¹åŸŽã§ãã
ããã®åãå®è¡äžã¯ããŠã¹ãšããŒããŒãã®å¶åŸ¡ãåããããšããããšã ã
å¿ããªãããã«ããŠäžããã
ãå°å
¥ãpythonãšpyautoguiãã€ã³ã¹ããŒã«ã ãã§ã
ã©ã¡ããç¡æã§äœ¿çšããããšãã§ããŸããã³ã¹ãã0åã§ãã
ããœãŒã¹ã³ãŒãã瀺ããŠããŸããã匷åã§ããããããé¢æ°ãçšæãããŠããã®ã§ã
ããã°ã©ãã³ã°åå¿è
ã§ãååã«ç解ã§ããå
容ã§ãã
ããã²ãã®æ¹æ³ãèŠããŠèªååã®åŒãåºããå¢ãããŠãããããšå¬ããã§ãã
ã³ã¡ã³ã