3

Java で Selenium WebDriver を使用してCtrl+Vいます。クリップボードに既に存在するテキストを編集ボックスに貼り付けるコマンドを実行するにはどうすればよいですか?

4

2 に答える 2

0

まず、Java アプリがアプレットまたは JNLP として実行されている場合は、署名する必要があります。JRE サンドボックスでは、system.copy 貼り付けバッファーをプログラムと共有することはできません。ただし、ローカル ファイル システムに保存されている jar ファイルを実行している場合、これは問題ではありません。

コピー ペースト バッファにアクセスするには、パッケージ java.awt.datatransfer のクラスを試すことができます。ここで使用例を見つけることができます: http://www.javapractices.com/topic/TopicAction.do?Id=82

異なるアプリケーションでは異なる種類のデータを転送できるため、コピーと貼り付けは実際には非常に複雑です。この複雑さは、DataFlavor によって処理されます。見る:

https://blogs.oracle.com/JavaFundamentals/entry/transferring_text_through_the_clipboard

于 2012-07-02T21:05:53.590 に答える
0

これはそれを行う1つの方法です...

public static void main(String[] args) {

    final JTextField textField = new JTextField(25);
    JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.add(textField, BorderLayout.NORTH);
    frame.add(new JButton(new AbstractAction("Paste") {

        public void actionPerformed(ActionEvent e) {
            Action pasteAction = TransferHandler.getPasteAction();
            ActionEvent actionEvent = new ActionEvent(textField, 0, "paste");
            pasteAction.actionPerformed(actionEvent);
        }
    }), BorderLayout.SOUTH);

    frame.setSize(300, 500);
    frame.setVisible(true);
}
于 2012-07-02T21:00:22.330 に答える