清除Windows'使用Sikuli或Jython时的剪贴板

时间:2012-05-01 00:00:48

标签: clipboard jython sikuli

我正在尝试使用Sikuli或Jython清除Windows的剪贴板。

我目前正在使用剪贴板从文本框中获取用户输入的文本。我使用剪贴板检查用户是否在单击按钮之前输入了文本。我想在单击按钮之前检查文本框是否为空。

我遇到的问题是,一旦使用剪贴板,我无法清除它。因此,每次单击按钮时,剪贴板中的值都会返回到我的脚本。

我需要能够在抓取用户输入的文本后清除剪贴板,或者找到一种方法来阅读文本框而不使用剪贴板。

帮助。

提前致谢,

马尔

1 个答案:

答案 0 :(得分:8)

使用Jython,您可以按照以下步骤将剪贴板的内容设置为空字符串,这就像清除它一样。

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

toolkit = Toolkit.getDefaultToolkit()
clipboard = toolkit.getSystemClipboard()
clipboard.setContents(StringSelection(""), None)

如下以字符串形式读取剪贴板的内容:

from java.awt.datatransfer import DataFlavor
contents = clipboard.getContents(None)
print contents.getTransferData(DataFlavor.stringFlavor)