Read and write clipboard content for desktop automation. Clipboard operations enable copying and pasting data between applications.
Overview
Clipboard operations enable:
- Reading clipboard content
- Setting clipboard content
- Accessing clipboard history
- Copying data between applications
Desktop automation requires a template with desktop support. Ensure your sandbox has desktop capabilities enabled.
Getting Clipboard Content
Read the current clipboard content:
from hopx_ai import Sandbox
sandbox = Sandbox.create(template="desktop")
# Get clipboard content
text = sandbox.desktop.get_clipboard()
print(f"Clipboard: {text}")
import { Sandbox } from '@hopx-ai/sdk';
const sandbox = await Sandbox.create({ template: 'desktop' });
// Get clipboard content
const text = await sandbox.desktop.getClipboard();
console.log(`Clipboard: ${text}`);
Setting Clipboard Content
Set clipboard content:
# Set clipboard content
sandbox.desktop.set_clipboard("Hello from clipboard!")
# Verify
text = sandbox.desktop.get_clipboard()
print(text) # "Hello from clipboard!"
// Set clipboard content
await sandbox.desktop.setClipboard('Hello from clipboard!');
// Verify
const text = await sandbox.desktop.getClipboard();
console.log(text); // "Hello from clipboard!"
Clipboard History
Get clipboard history (if supported):
# Get clipboard history
history = sandbox.desktop.get_clipboard_history()
for item in history:
print(f"History item: {item}")
// Get clipboard history
const history = await sandbox.desktop.getClipboardHistory();
history.forEach(item => {
console.log(`History item: ${item}`);
});
Copy-Paste Workflow
Complete copy-paste automation:
from hopx_ai import Sandbox
sandbox = Sandbox.create(template="desktop")
try:
# Select text (using mouse/keyboard)
sandbox.desktop.click(100, 100)
sandbox.desktop.drag(100, 100, 300, 100)
# Copy (Ctrl+C)
sandbox.desktop.combination(['ctrl'], 'c')
# Get copied text
copied_text = sandbox.desktop.get_clipboard()
print(f"Copied: {copied_text}")
# Click elsewhere
sandbox.desktop.click(500, 300)
# Paste (Ctrl+V)
sandbox.desktop.combination(['ctrl'], 'v')
finally:
sandbox.kill()
import { Sandbox } from '@hopx-ai/sdk';
const sandbox = await Sandbox.create({ template: 'desktop' });
try {
// Select text (using mouse/keyboard)
await sandbox.desktop.mouseClick(100, 100);
await sandbox.desktop.mouseDrag(100, 100, 300, 100);
// Copy (Ctrl+C)
await sandbox.desktop.keyboardCombination(['ctrl', 'c']);
// Get copied text
const copiedText = await sandbox.desktop.getClipboard();
console.log(`Copied: ${copiedText}`);
// Click elsewhere
await sandbox.desktop.mouseClick(500, 300);
// Paste (Ctrl+V)
await sandbox.desktop.keyboardCombination(['ctrl', 'v']);
} finally {
await sandbox.kill();
}
Programmatic Copy-Paste
Set clipboard programmatically and paste:
# Set clipboard programmatically
sandbox.desktop.set_clipboard("Programmatic clipboard content")
# Click in target application
sandbox.desktop.click(400, 300)
# Paste
sandbox.desktop.combination(['ctrl'], 'v')
// Set clipboard programmatically
await sandbox.desktop.setClipboard('Programmatic clipboard content');
// Click in target application
await sandbox.desktop.mouseClick(400, 300);
// Paste
await sandbox.desktop.keyboardCombination(['ctrl', 'v']);
Next Steps