Selenium – keyboard operation

Foreplay

The last article talked about mouse events in selenium. In automation, keyboard events are also very important. For example, we need to press enter, ctrl+c to copy, etc. Such operations are inseparable from keyboard events. In selenium, the Keys method is provided for us to operate the keyboard

Keys

Use the keyboard to complete the copy, cut, and paste functions< /p>

# enter python in the Baidu search box, Copy and paste Sogou input box to search

from selenium import webdriver
from selenium.webdriver.common.keys import< span style="color: #000000;"> Keys
from time import sleep

driver
= webdriver.Chrome()
driver.get(
'http://www.baidu.com ')
driver.maximize_window()
driver.find_element_by_css_selector(
'#kw').send_keys('python span>')
sleep(
2)
driver.find_element_by_css_selector(
'#kw').send_keys(Keys.CONTROL, 'a') # Select all
driver.find_element_by_css_selector('#kw').send_keys(Keys.CONTROL, 'c') # Copy
driver.find_element_by_css_selector('#kw').send_keys(Keys.CONTROL, 'x') # cut Cut
sleep(2)
driver.get(
'http://www.sogou.com ')
driver.find_element_by_css_selector(
'.sec-input< span style="color: #800000;">'
).send_keys(Keys.CONTROL, 'v') # Paste
sleep(2)
driver.find_element_by_css_selector(
'#stb').click()
sleep(
2)
driver.quit()

Commonly used keys

share picture

NULL = ''

CANCEL
= '' # ^break
HELP = ''
BACKSPACE
= ''
BACK_SPACE
= BACKSPACE #Delete key
TAB = '' #TAB key
CLEAR = ''
RETURN
= ''
ENTER
= '' #Enter key
SHIFT = '' #Shift key
LEFT_SHIFT = SHIFT
CONTROL
= ''
LEFT_CONTROL
= CONTROL #Ctrl key
ALT = '' #Alt key
LEFT_ALT = ALT
PAUSE
= ''
ESCAPE
= '' #ECS key
SPACE = '' #Space bar
PAGE_UP = '' #PgUp key
PAGE_DOWN = '' #PgDwon key
END = '' #END key
HOME = '' #HOME key
LEFT = '' #left click
ARROW_LEFT = LEFT
UP
= '' #Up button
ARROW_UP = UP
RIGHT
= ''
ARROW_RIGHT
= RIGHT #right click
DOWN = '' #Down key
ARROW_DOWN = DOWN
INSERT
= '' #insert key
DELETE = '' #del key

SEMICOLON
= '' #';' key
EQUALS = '' #'='key
  #Numeric keyboard
NUMPAD0 = '' #number pad keys
NUMPAD1 = ''
NUMPAD2
= ''
NUMPAD3
= ''
NUMPAD4
= ''
NUMPAD5
= ''
NUMPAD6
= ''
NUMPAD7
= ''
NUMPAD8
= ''
NUMPAD9
= ''
MULTIPLY
= '' #'*' key
ADD = '' #'+' key
SEPARATOR = '' #',' key
SUBTRACT = '' #'-' key
DECIMAL = '' #'.' key
DIVIDE = '' #'/' key

F1
= '' # function keys
F2 = ''
F3
= ''
F4
= ''
F5
= ''
F6
= ''
F7
= ''
F8
= ''
F9
= ''
F10
= ''
F11
= ''
F12
= ''

META
= ''
COMMAND
= ''

View Code

Example 2

from selenium import  webdriver

import unittest, time
from selenium.webdriver.common.keys import< span style="color: #000000;"> Keys


class Test_dragpage(unittest.TestCase):
def test_dragpageElement(self):
url
= 'http://www.sogou.com span>'
self.driver
= webdriver.Chrome()
self.driver.get(url)
self.driver.maximize_window()
query
= self.driver.find_element_by_id('query ')
# Send an f12 key via WebDriver
query.send_keys(Keys.F12)

time.sleep(
5)
# When pressing f12
query.send_keys(Keys.F12)
query.send_keys(
'selenium')
# Press Enter
query.send_keys(Keys.ENTER)


time.sleep(
3)

test1
= Test_dragpage()
test1.test_dragpageElement()

Use the built-in module of WebDriver to simulate key combinations

from selenium import webdriver

import unittest, time
from selenium.webdriver import ActionChains
from selenium.webdriver.common.keys import< span style="color: #000000;"> Keys


class Test_dragpage(unittest.TestCase):
def test_dragpageElement(self):
url
= 'http://www.baidu.com span>'
self.driver
= webdriver.Chrome()
self.driver.get(url)

input
= self.driver.find_element_by_id('kw ')
input.send_keys(
'python')

ActionChains(self.driver).key_down(Keys.CONTROL).send_keys(
'a').key_up(Keys.CONTROL).perform()
time.sleep(
2)

ActionChains(self.driver).key_down(Keys.CONTROL).send_keys(
'x').key_up(Keys.CONTROL).perform()
self.driver.get(url)
self.driver.find_element_by_id(
'kw').click()

ActionChains(self.driver).key_down(Keys.CONTROL).send_keys(
'v').key_up(Keys.CONTROL).perform()

self.driver.find_element_by_id(
'su').click()


test1
= Test_dragpage()
test1.test_dragpageElement()

ActionChains(self.driver).key_down(Keys.CONTROL).send_keys(‘v’).key_up(Keys.CONTROL ).perform(), in this line of code, key_down(Keys.CONTROL) means pressing the ctrl key, send_keys(‘v’) is similar to emulating the V key, the combination is Ctrl+v, and key_down(Keys.CONTROL) means Release the Ctrl key

Operate through a third-party library

Need to install pywin32

Keyboard mapping table

share picture

VK_CODE = {'back space:0x08,

'tab':0x09,
'clear':0x0C,
'enter':0x0D,
'shift':0x10,
'ctrl':0x11,
'alt':0x12,
'pause':0x13,
'caps_lock':0x14,
'esc':0x1B,
'spacebar':0x20,
'page_up':0x21,
'page_down':0x22,
'end':0x23,
'home':0x24,
'left_arrow':0x25,
'up_arrow':0x26,
'right_arrow':0x27,
'down_arrow':0x28,
'select':0x29,
'print':0x2A,
'execute':0x2B,
'print_screen':0x2C,
'ins':0x2D,
'del':0x2E,
'help':0x2F,
'0':0x30,
'1':0x31,
'2':0x32,
'3':0x33,
'4':0x34,
'5':0x35,
'6':0x36,
'7':0x37,
'8':0x38,
'9':0x39,
'a':0x41,
'b':0x42,
'c':0x43,
'd':0x44,
'e':0x45,
'f':0x46,
'g':0x47,
'h':0x48,
'i':0x49,
'j':0x4A,
k:0x4B,
l:0x4C,
m:0x4D,
n:0x4E,
o:0x4F,
p:0x50,
q:0x51,
r:0x52,
s:0x53,
t:0x54,
u:0x55,
v:0x56,
w:0x57,
x:0x58,
y:0x59,
z:0x5A,
numpad_0:0x60,
numpad_1:0x61,
numpad_2:0x62,
numpad_3:0x63,
numpad_4:0x64,
numpad_5:0x65,
numpad_6:0x66,
numpad_7:0x67,
numpad_8:0x68,
numpad_9:0x69,
multiply_key:0x6A,
add_key:0x6B,
separator_key:0x6C,
subtract_key:0x6D,
decimal_key:0x6E,
divide_key:0x6F,
F1:0x70,
F2:0x71,
F3:0x72,
F4:0x73,
F5:0x74,
F6:0x75,
F7:0x76,
F8:0x77,
F9:0x78,
F10:0x79,
F11:0x7A,
F12:0x7B,
F13:0x7C,
F14:0x7D,
F15:0x7E,
F16:0x7F,
F17:0x80,
F18:0x81,
F19:0x82,
F20:0x83,
F21:0x84,
F22:0x85,
F23:0x86,
F24:0x87,
num_lock:0x90,
scroll_lock:0x91,
left_shift:0xA0,
right_shift :0xA1,
left_control:0xA2,
right_control:0xA3,
left_menu:0xA4,
right_menu:0xA5,
browser_back:0xA6,
browser_forward:0xA7,
browser_refresh:0xA8,
browser_stop:0xA9,
browser_search:0xAA,
browser_favorites:0xAB,
browser_start_and_home:0xAC,
volume_mute:0xAD,
volume_Down:0xAE,
volume_up:0xAF,
next_track:0xB0,
previous_track:0xB1,
stop_media:0xB2,
play/pause_media:0xB3,
start_mail:0xB4,
select_media:0xB5,
start_application_1:0xB6,
start_application_2:0xB7,
attn_key:0xF6,
crsel_key:0xF7,
exsel_key:0xF8,
play_key:0xFA,
zoom_key:0xFB,
clear_key:0xFE,
+:0xBB,
,:0xBC,
-:0xBD,
.:0xBE,
/:0xBF,
`:0xC0,
;:0xBA,
[:0xDB,
\:0xDC,
]:0xDD,
"":0xDE,
`:0xC0}

View Code

 

import win32api

import win32con

class KeyboardKeys(object):
#模拟键盘按键类
VK_CODE={
enter:0x0D,
ctrl:0x11,
v:0x56
}

@staticmethod
def keyDown(keyName):
#按下按键
win32api.keybd_event(KeyboardKeys.VK_CODE[keyName],0,0,0)


@staticmethod
def keyUp(keyName):
#释放按键
win32api.keybd_event(KeyboardKeys.VK_CODE[keyName],0,win32con.KEYEVENTF_KEYUP,0)


@staticmethod
def oneKey(key):
#模拟单个按键
KeyboardKeys.keyDown(key)
KeyboardKeys.keyUp(key)

@staticmethod
def twoKeys(key1,key2):
#模拟两个组合键
KeyboardKeys.keyDown(key1)
KeyboardKeys.keyDown(key2)
KeyboardKeys.keyUp(key2)
KeyboardKeys.keyUp(key1)

Keybd_event()共有四个参数:
第一个为按键的虚拟键值,如回车键为vk_return, tab键为vk_tab(其他具体的参见附录:常用模拟键的键值对照表);
第二个参数为扫描码,一般不用设置,用0代替就行;
第三个参数为选项标志,如果为keydown则置0即可,如果为keyup则设成”KEYEVENTF_KEYUP”;
第四个参数一般也是置0即可。

 调用
KeyboardKeys.oneKey(enter)

设置剪贴板

在进行自动化的时候,有时候要上传一个文件,这时会打开一个wins的窗口,但是selenium没有给我们提供操作wins窗口的方法,我们就要使用pywin32提供给我们的方法来操作

import win32clipboard as w

import win32con


class Clipboard(object):
#模拟windows设置剪贴板
#读取剪贴板
@staticmethod
def getText():
#打开剪贴板
w.OpenClipboard()

#获取剪贴板中的数据
d=w.GetClipboardData(win32con.CF_TEXT)

#关闭剪贴板
w.CloseClipboard()

#返回剪贴板数据给调用者
return d



#设置剪贴板内容
@staticmethod
def setText(aString):
#打开剪贴板
w.OpenClipboard()

#清空剪贴板
w.EmptyClipboard()

#将数据aString写入剪贴板
w.SetClipboardData(win32con.CF_UNICODETEXT,aString)

#关闭剪贴板
w.CloseClipboard()

调用

 Clipboard.setText(filePath)

# 在百度搜索框输入  python ,复制粘贴搜狗输入框进行搜索

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep

driver
= webdriver.Chrome()
driver.get(
http://www.baidu.com)
driver.maximize_window()
driver.find_element_by_css_selector(
#kw).send_keys(python)
sleep(
2)
driver.find_element_by_css_selector(
#kw).send_keys(Keys.CONTROL, a) # 全选
driver.find_element_by_css_selector(#kw).send_keys(Keys.CONTROL, c) # 复制
driver.find_element_by_css_selector(#kw).send_keys(Keys.CONTROL, x) # 剪切
sleep(2)
driver.get(
http://www.sogou.com)
driver.find_element_by_css_selector(
.sec-input).send_keys(Keys.CONTROL, v) # 粘贴
sleep(2)
driver.find_element_by_css_selector(
#stb).click()
sleep(
2)
driver.quit()

分享图片

NULL = 

CANCEL
= # ^break
HELP =
BACKSPACE
=
BACK_SPACE
= BACKSPACE #删除键
TAB = #TAB键
CLEAR =
RETURN
=
ENTER
= #回车键
SHIFT = #Shift键
LEFT_SHIFT = SHIFT
CONTROL
=
LEFT_CONTROL
= CONTROL #Ctrl 键
ALT = #Alt 键
LEFT_ALT = ALT
PAUSE
=
ESCAPE
= #ECS键
SPACE = #空格键
PAGE_UP = #PgUp 键
PAGE_DOWN = #PgDwon 键
END = #END 键
HOME = #HOME 键
LEFT = #左键
ARROW_LEFT = LEFT
UP
= #上键
ARROW_UP = UP
RIGHT
=
ARROW_RIGHT
= RIGHT #右键
DOWN = #下键
ARROW_DOWN = DOWN
INSERT
= #insert键
DELETE = #del键

SEMICOLON
= #‘;‘键
EQUALS = #‘=‘键
  #数字键盘
NUMPAD0 = #number pad keys
NUMPAD1 =
NUMPAD2
=
NUMPAD3
=
NUMPAD4
=
NUMPAD5
=
NUMPAD6
=
NUMPAD7
=
NUMPAD8
=
NUMPAD9
=
MULTIPLY
= # ‘*‘ 键
ADD = # ‘+‘ 键
SEPARATOR = #‘,‘键
SUBTRACT = # ‘-‘ 键
DECIMAL = # ‘.‘键
DIVIDE = #‘/‘键

F1
= # function keys
F2 =
F3
=
F4
=
F5
=
F6
=
F7
=
F8
=
F9
=
F10
=
F11
=
F12
=

META
=
COMMAND
=

View Code

NULL = 

CANCEL
= # ^break
HELP =
BACKSPACE
=
BACK_SPACE
= BACKSPACE #删除键
TAB = #TAB键
CLEAR =
RETURN
=
ENTER
= #回车键
SHIFT = #Shift键
LEFT_SHIFT = SHIFT
CONTROL
=
LEFT_CONTROL
= CONTROL #Ctrl 键
ALT = #Alt 键
LEFT_ALT = ALT
PAUSE
=
ESCAPE
= #ECS键
SPACE = #空格键
PAGE_UP = #PgUp 键
PAGE_DOWN = #PgDwon 键
END = #END 键
HOME = #HOME 键
LEFT = #左键
ARROW_LEFT = LEFT
UP
= #上键
ARROW_UP = UP
RIGHT
=
ARROW_RIGHT
= RIGHT #右键
DOWN = #下键
ARROW_DOWN = DOWN
INSERT
= #insert键
DELETE = #del键

SEMICOLON
= #‘;‘键
EQUALS = #‘=‘键
  #数字键盘
NUMPAD0 = #number pad keys
NUMPAD1 =
NUMPAD2
=
NUMPAD3
=
NUMPAD4
=
NUMPAD5
=
NUMPAD6
=
NUMPAD7
=
NUMPAD8
=
NUMPAD9
=
MULTIPLY
= # ‘*‘ 键
ADD = # ‘+‘ 键
SEPARATOR = #‘,‘键
SUBTRACT = # ‘-‘ 键
DECIMAL = # ‘.‘键
DIVIDE = #‘/‘键

F1
= # function keys
F2 =
F3
=
F4
=
F5
=
F6
=
F7
=
F8
=
F9
=
F10
=
F11
=
F12
=

META
=
COMMAND
=

from selenium import webdriver

import unittest, time
from selenium.webdriver.common.keys import Keys


class Test_dragpage(unittest.TestCase):
def test_dragpageElement(self):
url
= http://www.sogou.com
self.driver
= webdriver.Chrome()
self.driver.get(url)
self.driver.maximize_window()
query
= self.driver.find_element_by_id(query)
# 通过WebDriver发送一个f12键
query.send_keys(Keys.F12)

time.sleep(
5)
# 在按次f12
query.send_keys(Keys.F12)
query.send_keys(
selenium)
# 按回车
query.send_keys(Keys.ENTER)


time.sleep(
3)

test1
= Test_dragpage()
test1.test_dragpageElement()

from selenium import webdriver

import unittest, time
from selenium.webdriver import ActionChains
from selenium.webdriver.common.keys import Keys


class Test_dragpage(unittest.TestCase):
def test_dragpageElement(self):
url
= http://www.baidu.com
self.driver
= webdriver.Chrome()
self.driver.get(url)

input
= self.driver.find_element_by_id(kw)
input.send_keys(
python)

ActionChains(self.driver).key_down(Keys.CONTROL).send_keys(
a).key_up(Keys.CONTROL).perform()
time.sleep(
2)

ActionChains(self.driver).key_down(Keys.CONTROL).send_keys(
x).key_up(Keys.CONTROL).perform()
self.driver.get(url)
self.driver.find_element_by_id(
kw).click()

ActionChains(self.driver).key_down(Keys.CONTROL).send_keys(
v).key_up(Keys.CONTROL).perform()

self.driver.find_element_by_id(
su).click()


test1
= Test_dragpage()
test1.test_dragpageElement()

分享图片

VK_CODE = {backspace:0x08,

tab:0x09,
clear:0x0C,
enter:0x0D,
shift:0x10,
ctrl:0x11,
alt:0x12,
pause:0x13,
caps_lock:0x14,
esc:0x1B,
spacebar:0x20,
page_up:0x21,
page_down:0x22,
end:0x23,
home:0x24,
left_arrow:0x25,
up_arrow:0x26,
right_arrow:0x27,
down_arrow:0x28,
select:0x29,
print:0x2A,
execute:0x2B,
print_screen:0x2C,
ins:0x2D,
del:0x2E,
help:0x2F,
0:0x30,
1:0x31,
2:0x32,
3:0x33,
4:0x34,
5:0x35,
6:0x36,
7:0x37,
8:0x38,
9:0x39,
a:0x41,
b:0x42,
c:0x43,
d:0x44,
e:0x45,
f:0x46,
g:0x47,
h:0x48,
i:0x49,
j:0x4A,
k:0x4B,
l:0x4C,
m:0x4D,
n:0x4E,
o:0x4F,
p:0x50,
q:0x51,
r:0x52,
s:0x53,
t:0x54,
u:0x55,
v:0x56,
w:0x57,
x:0x58,
y:0x59,
z:0x5A,
numpad_0:0x60,
numpad_1:0x61,
numpad_2:0x62,
numpad_3:0x63,
numpad_4:0x64,
numpad_5:0x65,
numpad_6:0x66,
numpad_7:0x67,
numpad_8:0x68,
numpad_9:0x69,
multiply_key:0x6A,
add_key:0x6B,
separator_key:0x6C,
subtract_key:0x6D,
decimal_key:0x6E,
divide_key:0x6F,
F1:0x70,
F2:0x71,
F3:0x72,
F4:0x73,
F5:0x74,
F6:0x75,
F7:0x76,
F8:0x77,
F9:0x78,
F10:0x79,
F11:0x7A,
F12:0x7B,
F13:0x7C,
F14:0x7D,
F15:0x7E,
F16:0x7F,
F17:0x80,
F18:0x81,
F19:0x82,
F20:0x83,
F21:0x84,
F22:0x85,
F23:0x86,
F24:0x87,
num_lock:0x90,
scroll_lock:0x91,
left_shift:0xA0,
right_shift :0xA1,
left_control:0xA2,
right_control:0xA3,
left_menu:0xA4,
right_menu:0xA5,
browser_back:0xA6,
browser_forward:0xA7,
browser_refresh:0xA8,
browser_stop:0xA9,
browser_search:0xAA,
browser_favorites:0xAB,
browser_start_and_home:0xAC,
volume_mute:0xAD,
volume_Down:0xAE,
volume_up:0xAF,
next_track:0xB0,
previous_track:0xB1,
stop_media:0xB2,
play/pause_media:0xB3,
start_mail:0xB4,
select_media:0xB5,
start_application_1:0xB6,
start_application_2:0xB7,
attn_key:0xF6,
crsel_key:0xF7,
exsel_key:0xF8,
play_key:0xFA,
zoom_key:0xFB,
clear_key:0xFE,
+:0xBB,
,:0xBC,
-:0xBD,
.:0xBE,
/:0xBF,
`:0xC0,
;:0xBA,
[:0xDB,
\:0xDC,
]:0xDD,
"":0xDE,
`:0xC0}

View Code

VK_CODE = {backspace:0x08,

tab:0x09,
clear:0x0C,
enter:0x0D,
shift:0x10,
ctrl:0x11,
alt:0x12,
pause:0x13,
caps_lock:0x14,
esc:0x1B,
spacebar:0x20,
page_up:0x21,
page_down:0x22,
end:0x23,
home:0x24,
left_arrow:0x25,
up_arrow:0x26,
right_arrow:0x27,
down_arrow:0x28,
select:0x29,
print:0x2A,
execute:0x2B,
print_screen:0x2C,
ins:0x2D,
del:0x2E,
help:0x2F,
0:0x30,
1:0x31,
2:0x32,
3:0x33,
4:0x34,
5:0x35,
6:0x36,
7:0x37,
8:0x38,
9:0x39,
a:0x41,
b:0x42,
c:0x43,
d:0x44,
e:0x45,
f:0x46,
g:0x47,
h:0x48,
i:0x49,
j:0x4A,
k:0x4B,
l:0x4C,
m:0x4D,
n:0x4E,
o:0x4F,
p:0x50,
q:0x51,
r:0x52,
s:0x53,
t:0x54,
u:0x55,
v:0x56,
w:0x57,
x:0x58,
y:0x59,
z:0x5A,
numpad_0:0x60,
numpad_1:0x61,
numpad_2:0x62,
numpad_3:0x63,
numpad_4:0x64,
numpad_5:0x65,
numpad_6:0x66,
numpad_7:0x67,
numpad_8:0x68,
numpad_9:0x69,
multiply_key:0x6A,
add_key:0x6B,
separator_key:0x6C,
subtract_key:0x6D,
decimal_key:0x6E,
divide_key:0x6F,
F1:0x70,
F2:0x71,
F3:0x72,
F4:0x73,
F5:0x74,
F6:0x75,
F7:0x76,
F8:0x77,
F9:0x78,
F10:0x79,
F11:0x7A,
F12:0x7B,
F13:0x7C,
F14:0x7D,
F15:0x7E,
F16:0x7F,
F17:0x80,
F18:0x81,
F19:0x82,
F20:0x83,
F21:0x84,
F22:0x85,
F23:0x86,
F24:0x87,
num_lock:0x90,
scroll_lock:0x91,
left_shift:0xA0,
right_shift :0xA1,
left_control:0xA2,
right_control:0xA3,
left_menu:0xA4,
right_menu:0xA5,
browser_back:0xA6,
browser_forward:0xA7,
browser_refresh:0xA8,
browser_stop:0xA9,
browser_search:0xAA,
browser_favorites:0xAB,
browser_start_and_home:0xAC,
volume_mute:0xAD,
volume_Down:0xAE,
volume_up:0xAF,
next_track:0xB0,
previous_track:0xB1,
stop_media:0xB2,
play/pause_media:0xB3,
start_mail:0xB4,
select_media:0xB5,
start_application_1:0xB6,
start_application_2:0xB7,
attn_key:0xF6,
crsel_key:0xF7,
exsel_key:0xF8,
play_key:0xFA,
zoom_key:0xFB,
clear_key:0xFE,
+:0xBB,
,:0xBC,
-:0xBD,
.:0xBE,
/:0xBF,
`:0xC0,
;:0xBA,
[:0xDB,
\:0xDC,
]:0xDD,
"":0xDE,
`:0xC0}

import win32api

import win32con

class KeyboardKeys(object):
#模拟键盘按键类
VK_CODE={
enter:0x0D,
ctrl:0x11,
v:0x56
}

@staticmethod
def keyDown(keyName):
#按下按键
win32api.keybd_event(KeyboardKeys.VK_CODE[keyName],0,0,0)


@staticmethod
def keyUp(keyName):
#释放按键
win32api.keybd_event(KeyboardKeys.VK_CODE[keyName],0,win32con.KEYEVENTF_KEYUP,0)


@staticmethod
def oneKey(key):
#模拟单个按键
KeyboardKeys.keyDown(key)
KeyboardKeys.keyUp(key)

@staticmethod
def twoKeys(key1,key2):
#模拟两个组合键
KeyboardKeys.keyDown(key1)
KeyboardKeys.keyDown(key2)
KeyboardKeys.keyUp(key2)
KeyboardKeys.keyUp(key1)

KeyboardKeys.oneKey(enter)

import win32clipboard as w

import win32con


class Clipboard(object):
#模拟windows设置剪贴板
#读取剪贴板
@staticmethod
def getText():
#打开剪贴板
w.OpenClipboard()

#获取剪贴板中的数据
d=w.GetClipboardData(win32con.CF_TEXT)

#关闭剪贴板
w.CloseClipboard()

#返回剪贴板数据给调用者
return d



#设置剪贴板内容
@staticmethod
def setText(aString):
#打开剪贴板
w.OpenClipboard()

#清空剪贴板
w.EmptyClipboard()

#将数据aString写入剪贴板
w.SetClipboardData(win32con.CF_UNICODETEXT,aString)

#关闭剪贴板
w.CloseClipboard()

 Clipboard.setText(filePath)

Leave a Comment

Your email address will not be published.