diary/Kojima

・備忘録

X環境で、マウスを動かしたり、クリックしたりする作業を自動化するツールとして、xdotoolというのがある。

このツールには、あれこれ多数の機能が組み込まれているのだけれど、とりあえず最小限の機能を使うためのメモ。

$ xdotool sleep 5 getmouselocation
findclient: 31457952
findclient: 31457952
findclient: 31457952
findclient: 31457952
findclient: 31457952
findclient: 31457950
x:538 y:664 screen:0 window:31457950

sleep 5 している間に、クリックしたいところにマウスを持っていってやる。 この結果は、クリックすべきアプリの開いているWindowIDは 31457950 で、 クリックすべきポイントは(538, 664)であることを示す。

たとえば、ブラウザ経由で画像データをキャプチャしたいような場合は、

#! /bin/sh
WinID=31457950
X=538
Y=664
last=100

for page in `seq -w 1 $last` ; do
   xdotool mousemove $X $Y click 1 &
   sleep 3
   gm import -silent -window $WinID ${page}".jpg"
done

みたいなシェルスクリプトを組めば、3秒ごとに指定したポイントにマウスを移動してクリック、 3秒間待ってブラウザの画面をJPEG形式でキャプチャする、みたいな作業が自動化できる。

こういう方法を使えば、javascriptな専用ブラウザ経由でしか閲覧できないサイトの画像データも ローカルにダウンロードできるわけだけど、著作権的にはかなりグレーな気がするので、 個人使用以外の悪用厳禁。



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-12-17 (金) 16:35:42