6

与えられた:

Ubuntu コンピューターで[Firefox ページ タイトル]ページを開いた状態でFirefox を使用しています。

これが私のコマンドです:

xdotool search "[Firefox Page Title]" windowactivate --sync key --clearmodifiers ctrl+r

ドキュメンテーション:

ドキュメント/例を含む xdotool Web サイトはこちらです。

xdotool Web サイトからの直接の例:

# As of version 2.20100623, you can do this simpler version of above:
xdotool search "Mozilla Firefox" windowactivate --sync key --clearmodifiers ctrl+l

ノート:

xdotool バージョン 2.20110530.1 を使用しています。

このコマンドは、選択したウィンドウ タイトルに画面を正しくフォーカスしますが、Web サイトが更新されないため、ウィンドウに ctrl+r キーを送信しません。コマンドからエラー メッセージが表示されません。( Firefox の更新ショートカットは ctrl+r です)

望まれる行動:

このコマンドは、サーバー コンピューターで 24 時間年中無休で開いている Web サーバーの統計ページに (機能する場合) 適用されることを願っています。何をするにも。

編集:私はこの機能を提供できる他のアプリケーションを使用することにオープンです。簡単/類似の何かを知っている場合は、答えとして提供してください! これが機能しない場合は、次善の策をデフォルトに設定します。

4

7 に答える 7

12

キーストロークをアプリケーションに送信しようとしましたが、xdotool が説明どおりに機能しないという結論に達しました。私はxvkbdを使って同じことをしました。

あなたの例では、次のコマンドは Firefox でページを更新します。

xvkbd -window Firefox -text "\Cr"
于 2013-03-23T16:49:51.543 に答える
4

xdotool を正しく動作させるためにいくつかの異なるアプローチを試みた結果、xdotool 自体が問題であると考えるようになりました。ここに私が試したものがありますが、どれもうまくいきませんでした。

  • ターミナルからコマンド (およびバリエーション - 引数の削除/追加) を実行します。
  • SH スクリプトからコマンド (およびバリエーション - 引数の削除/追加) を実行します。
  • F5 キーと ctrl+r キーの切り替え。どちらも Firefox ページを更新する必要があります。
  • 次のような他のパラメーターを試します。
    • --window キーが送信されるウィンドウを設定します。
    • --delay は、ウィンドウがフォーカスされた後、キーが送信される前に遅延を追加します。
    • ウィンドウがフォーカスされた後、キーが送信される前にスリープを追加します。

xdotoolのフロントページが推奨するように、これらのコマンドもスクリプトで試しましたが、これは複数のコマンドに分かれているため、「古い」バージョンであると述べています。「新しい」バージョンは、以前に実行しようとしていたバージョンであり、単一のコマンドです (質問を参照)。

WID=`xdotool search "Firefox Page Title"`
xdotool windowactivate --sync $WID
xdotool key --clearmodifiers ctrl+r

上記の試みはすべて、必要なウィンドウに常に正しく焦点を合わせていましたが、F5 または ctrl+r のいずれであってもキーを送信しません。

ただし、以下は正しく機能しました。

xdotool selectwindow key ctrl+r

また

xdotool selectwindow key F5

このselectwindowコマンドを実行すると、カーソルが長方形の選択ツールに変わり、その時点でフォーカスしたいウィンドウを選択できます。この場合、どのウィンドウに ctrl+r または F5 キーを送信するかを選択できます。残念ながら、これは私が探していたものではありません。正しく機能させるにはユーザー入力が必要だからです。

最終的解決:

私の解決策 (xdotool を使用して Web ページを常に更新しようとしていたため) は、ReloadEvery Firefox アドオンを使用することでした。これは、選択した任意の時間間隔で設定したページを更新します。これは、 Operaブラウザーに組み込まれている自動ページ更新機能のレプリカを意図しており、これまでのところうまく機能しています。

Chrome を使用していて、同様のソリューションを探している人のために、利用できるアドオンもたくさんあります。https://chrome.google.com/webstore/search/auto%20refresh

于 2012-08-20T13:27:09.797 に答える
1

キーバインドwin + shift + sを使用してウィンドウIDを取得しています

xdotool getactivewindow getwindowgeometry

そしてwin + sでリフレッシュ

xdotool key --window savedWindowID ctrl+r
于 2014-04-23T06:31:31.840 に答える