それはかなり簡単なはずが、私はこれを行う方法のドキュメントを見つけることができないようにこれは感じている:Sikuliで "Ctrl + c"を送信するには?
私はちょうどSikuliがクリップボードにテキストをコピーするはCtrl + Cを入力します。
type(KEY_CTRL+'c')
は動作しませんし、どちらもtype(KEY_CTRL,'c')
をしていません。
提案がありますか?
それはかなり簡単なはずが、私はこれを行う方法のドキュメントを見つけることができないようにこれは感じている:Sikuliで "Ctrl + c"を送信するには?
私はちょうどSikuliがクリップボードにテキストをコピーするはCtrl + Cを入力します。
type(KEY_CTRL+'c')
は動作しませんし、どちらもtype(KEY_CTRL,'c')
をしていません。
提案がありますか?
ではなくtype("c",KEY_CTRL)
を使用してみてください。
私はそれが再び文書にV CTRL + X CTRL +のそれをマークし、ためにどのタイプのメモ帳内の行を、ダブルクリックの簡単なスクリプトを書きました。よく働く。
openApp("notepad.exe")
find("textfield.png")
type("Some text")
doubleClick("theText.png")
type("x", KEY_CTRL)
click("theTextField.png")
type("v",KEY_CTRL)
0.9で、次の作品やsikuli
type('x', KeyModifier.CTRL)
大文字と小文字が区別されますのでご注意ください。 'x'と 'c'は動作しますが、 'X'と 'C'は動作しません! –
の新しいバージョンタイプの使い方()と可能なキーの名前は、ここに記載されています:
キーオブジェクトはすべての修飾キーとnum padキー用に定義されています。とにかく、それはこの
のKeyDown(Key.CTRL)のようなもの
タイプ( 'C')
keyUpイベント(Key.CTRL)
これは動作しますが、1行で十分な場合には3行かかります。 'type( 'x'、KeyModifier.CTRL)' –
あなたのプログラムハンドルの一部を修飾子を押して、別の部分をメリーボタンが押されているかどうかわからない場合は、 – Belfordz
タイプ( 'x' は、キーになります。 CTRL)も機能します。
また、NUM_LOCKがオフになっていることを確認してください。 NUM_LOCKがオンの場合、KeyModifier.CTRLまたはKeyModifier.SHIFTが不正な動作をする可能性があります。
Num Lockは私にとって何の違いもありません。この問題は特定のプラットフォームで確認できましたか? –
@ JonathanBenn、Windows 7 Home Premium、Java 7(アップデート65)、Sikuli 1.0.1を使用していました。 – autoKarma
あなたは、次のコードを試すことができます:私はどのようにSikuli IDE内のスクリプトでこれを追加するためのテストを終えた後、私のキーボードでキーEを言う押す必要がありますように
keyDown(Key.CTRL)
type("c")
keyUp(Key.CTRL)
シナリオがあります。他の人が述べたように
は、以下を使用します - 言及する価値
type('c', Key.CTRL) # Copy command
ワンポイントをない使用大文字、つまり操作を行います。
type('C', Key.CTRL) # Does not copy, avoid this
私はに見ていませんSikuliのソースコードですが、これは暗黙のうちにShift+C
という名前で送信されているため、別のコマンドが完全に発生しています。
私はFlashコンテンツを自動化する必要がありました。次のコードは私のために働いた。 これらは私が自動化の一環として実行するには、次の手順AHDた:
私が直面した課題は、プレースホルダのないユーザー名とパスワードに焦点を当てることでした。したがって、焦点合わせは困難でした。だから私はこれを行うためにCTRLキーを使いました。
Pattern appLogo = new Pattern("C:\\images\\appLogo.png");
StringSelection userNameText = new StringSelection("username");
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(userNameText, null);//Copy the text into the memory
Screen s = new Screen();
s.find(appLogo);
s.click(appLogo);
s.type(Key.TAB);//I had to enter tab twice to focus on user name textbox
s.type(Key.TAB);
s.type("V",KeyModifier.CTRL);
StringSelection password = new StringSelection("password");
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(password, null);
s.type(Key.TAB);//I had to enter tab twice to focus on user name textbox
s.type("V",KeyModifier.CTRL);
Pattern loginButton = new Pattern("C:\\images\\Login.png");
s.find(loginButton);
s.doubleClick(loginButton);
これは、(KEY_CTRL、 'c')は機能しませんが( 'c'、KEY_CTRL)は、図になります! –
バージョンX1.0-rc3以降[非推奨](http://doc.sikuli.org/keys.html)。 [@spearsonによる答え](http://stackoverflow.com/a/9526380/1086034)を参照してください。 – willkil