如何在App.getClipboard()

时间:2015-07-21 13:40:56

标签: automation sikuli

例如,我从文本字段中复制粘贴文本:

type('c', KeyModifier.CTRL)
fieldEntry = App.getClipboard()

现在fieldEntry是我存储在文本字段中的值。

现在下一个textField为空。
我使用Key.TAB转到下一个textField。
但是如果我再次使用App.getClipboard(),我会从previeus textField中获取值。

有人知道我在App.getClipboard()之后如何清除我的剪贴板吗?

编辑:

我确实创建了下面的代码。
但我想知道它是否可以做得更简单......

from java.awt import Toolkit
from java.awt.datatransfer import StringSelection, Clipboard

def clearClipboardPC():
    toolkit = Toolkit.getDefaultToolkit()
    clipboard = toolkit.getSystemClipboard()
    clipboard.setContents(StringSelection(''), None)

1 个答案:

答案 0 :(得分:0)

我可以想办法解决这个问题:

模拟点击 PrintScreen 按钮

使用示例type(Key.PRINTSCREEN)

将屏幕截图保存到剪贴板并不能实际清除它,但它可以在你的情况下用作黑客,因为当你运行App.getCliboard()命令时它会导致空字符串。

使用命令行清除剪贴板

你可以执行qa命令行命令来清理你的剪贴板。

使用示例run("cmd /C echo off | clip")