PyUserInput是否切换事件顺序?

时间:2015-03-05 14:01:41

标签: python-2.7 keyboard clipboard

我想编写一个代码,从窗口复制文本并以表格形式编写。但是这个代码在单击窗体之前以某种方式在窗口中写入文本。它有时也不会从剪贴板打印文本,也可以手动执行。这怎么可能,我该如何解决? 感谢

from pymouse import PyMouse
from pykeyboard import PyKeyboard
import clipboard

m = PyMouse()
k = PyKeyboard()

x_dim, y_dim = m.screen_size()

## click in File
m.click(x_dim*3/4, y_dim/2, 1)

## Ctrl a
k.press_key(k.control_key)
k.tap_key('a')
k.release_key(k.control_key)

## Ctrl c
k.press_key(k.control_key)
k.tap_key('c')
k.release_key(k.control_key)

## put it in clipboard
text = clipboard.paste()

## click in form
m.click(x_dim/4, y_dim/2, 1)

## write clipboard and text into form and tab through elements
k.type_string(text)
k.tap_key(k.tab_key)
k.type_string('hello')
k.tap_key(k.tab_key)
k.type_string('test')

2 个答案:

答案 0 :(得分:0)

您应该检查您用于PyMouse的X / Y位置。例如,通过打印出来获取值,并检查屏幕上的位置:

## click in form
x_click = x_dim/4
y_click = y_dim/2
m.click(x_click, y_click, 1)
print x_click
print y_click

答案 1 :(得分:0)

首先,您应该检查屏幕中文件的位置,您应该确认位置参数是否正确。“打印”功能可能对您检查字符串有帮助。