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

Mar*_*وان 3 clipboard jython sikuli

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

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

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

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

救命.

提前致谢,

马尔万

Edw*_*rzo 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)
Run Code Online (Sandbox Code Playgroud)

并按如下方式将剪贴板的内容作为字符串读取:

from java.awt.datatransfer import DataFlavor
contents = clipboard.getContents(None)
print contents.getTransferData(DataFlavor.stringFlavor)
Run Code Online (Sandbox Code Playgroud)

  • 这很棒!谢谢!我最终使用以下内容从文本框中检索文本到剪贴板然后到我的变量.`type(image_1,"a",KeyModifier.CTRL)#Select all text``type("c",KeyModifier.CTRL)#copy to clipboard``message_text = Env.getClipboard()` (2认同)