これはかなり簡単なはずですが、これを行う方法に関するドキュメントが見つかりません。
シクリにタイプしてもらいたい Ctrl+C テキストをクリップボードにコピーします。
type(KEY_CTRL+'c')
は機能せず、type(KEY_CTRL,'c')
も機能しません。
助言がありますか?
代わりにtype("c",KEY_CTRL)
を使用してください。
メモ帳で行を入力し、それをダブルクリックしてマークを付け、ドキュメントに再度ctrl + x ctrl + vする簡単なスクリプトを書きました。よく働く。
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)
キーオブジェクトは、ほとんどすべての修飾キーとテンキーに定義されています。とにかく、それはこのように見えるはずです
keyDown(Key.CTRL)
タイプ( 'c')
keyUp(Key.CTRL)
Type()の使用法と考えられるキー名は次のとおりです。
type( 'x'、Key.CTRL)も機能します。
他の人が述べたように、以下を使用してください:
type('c', Key.CTRL) # Copy command
言及する価値のあるポイント-do not大文字を使用する、つまり:
type('C', Key.CTRL) # Does not copy, avoid this
私はSikuliソースコードを調べていませんが、これは暗黙的にShift+C
としてこれを送信するため、まったく別のコマンドになります。
また、NUM_LOCKがオフになっていることを確認してください。 NUM_LOCKがオンになっていると、Key Modifier.CTRLまたはKey Modifier.SHIFTの動作に問題が生じる可能性があります。
次のコードを試すことができます:
keyDown(Key.CTRL)
type("c")
keyUp(Key.CTRL)
Flashコンテンツを自動化する必要がありました。次のコードは私のために働いた。これらは、自動化の一部として実行する次の手順です。
私が直面した課題は、プレースホルダーのないユーザー名とパスワードに集中することでした。そのため、フォーカシングは困難でした。そこで、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);