・備忘録
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な専用ブラウザ経由でしか閲覧できないサイトの画像データも ローカルにダウンロードできるわけだけど、著作権的にはかなりグレーな気がするので、 個人使用以外の悪用厳禁。