web-dev-qa-db-ja.com

xdotool、クリックアンドホールドしてマウスを動かす

タスクを自動化したいのですが、Googleのようなマップインターフェイスをスクロールする必要があります。基本的に通常行うことは次のとおりです。

  1. スポットをクリック
  2. クリックを押し続ける
  3. マウスを比較的100ピクセル左に移動します
  4. 保持を停止します
  5. 少し待って、1に戻ります

しかし、私は$ xdotool click 1 mousemove_relative 0 100を試しましたが、それは役に立ちませんでした、それはそれを保持していないようです。これを達成するために何ができますか?

3
Mustafa

xnee を使用して、マウスアクションを記録し、後で必要に応じて再生できます。

gneeと呼ばれるGUIがあります。前回試した時はあまり良い結果が得られませんでしたが、それはずっと前のことで、それ以来状況が変わったのかもしれません。

これが私が録音に使用したものです:

$ sleep 2 ; xmessage ready ; sleep 1 ; cnee --record --mouse --keyboard -o cnee.data

これにより、開始する前に移動して準備を行うことができます。準備ができたらokをクリックし、1秒待ってからアクションを実行します。 Ctrl-c 終わったら。

次に、次のコマンドで再生できます。

$cnee --replay -f cnee.data -v -e /dev/null -ns

オリジナルよりも速く再生することもできます(!)

$cnee --replay --speed-percent 40  -f cnee.data -v -e /dev/null -ns

アクションとアクションの間に行ったことを取り除くには、おそらくcnee.dataの末尾を編集する必要があります。 Ctrl-c

1
lemonsqueeze

純粋なxdotoolバージョン

あなたのスポットが500500だとしましょう

xdotool mousemove 500 500
xdotool keydown Pointer_Button1
xdotool mousemove_relative 0 100
xdotool keyup Pointer_Button1
sleep 1

必要に応じて、1行だけに要約することもできます。

xdotool mousemove 500 500 keydown Pointer_Button1 mousemove_relative 0 100 keyup Pointer_Button1 sleep 1
5
TuxForLife