見出し画像

Pythonで使い方メモランダム表示_004

pythonで操作の自動化、RPA(Robotic Process Automation)をするときに、ウィンドウのサイズを自分の好きな大きさにしたり、好きな位置に移動させたくていろいろやってみていたときのメモです。わたしの場合は、全自動化させることはありません。ゴリゴリに全自動化しても、状況、条件が作成したときに想定したまま、ということがないからです。そこで変化に即対応できるようにスケルトンライナーにしています。半自動化が合理的なんです。

Windowsだと「pygetwindow」など外部モジュールがあるのですが、わたしはすでにWindowsもMacも卒業してLinuxなのでインストールしてもつかえません。標準モジュール「subprocess」からシェルコマンドの「xdotool」をウィンドウ操作を行います。

#使い方vv
#pythonでウィンドウのサイズを変更する方法vv
ウィンドウの位置とサイズを取得してから移動させる
$ pn -c "$imt;import pyautogui as pg;from PIL import ImageGrab as mg;fn_='scrshot_'+datetime.datetime.now().strftime('%Y-%m%-d_%H%M%S')+'.png';pg.hotkey('alt','tab');w,h,x,y=[int(x) for x in re.split('x|\+',subp.run('slop',capture_output=True,text=True).stdout[:-1])];pg.sleep(1);square_=(w,h,x,y);squ_=','.join([str(x) for x in square_]);cb.copy(squ_);pr(squ_);pg.hotkey('alt','tab')" #python_de_getsquare___
700,341,1195,693
$ pn -c "$imt;import pyautogui as pg;w,h,x,y=cb.paste().split(',');pg.hotkey('alt','space');pg.press('x');wid_=subp.run(['xdotool','getactivewindow'],capture_output=True,text=True).stdout[:-1];pg.sleep(0);z_=subp.run(['xdotool','windowsize',wid_,w,h]);z_=subp.run(['xdotool','windowmove',wid_,x,y])" #python_de_resize_wd__
#--- 2024-11-21 21:00:41 +0900 ---
追加(取得してから移動させる)
--- 2024-11-28 16:43:50 +0900 ---

いいなと思ったら応援しよう!

この記事が参加している募集