一、键盘操作(很多时候没有按钮点击,只能回车的情况,或者只能使用模拟键盘的情况)
1.selenium提供了完整的的模拟键盘操作事件,模拟键盘的操作需要先导入键盘模块:
from selenium.webdriver.common.keys import Keys
2.模拟enter键,可以用send_keys(Keys.ENTER)
下面是其他操作键盘的,搜索百度、参考部分书籍、作为补充:
ADD:加
SUBTRACT:减
MULTIPLY:乘
DIVIDE:除
EQUALS:等于
NUMPAD0----NUMPAD9:小键盘的0---9数字
下面是一些常用的功能按键:
TAB:tab键
ALT:Alt键
CONTROL:Ctrl键
SHIFT:Shift键
LEFT_ALT:左边Alt键
LEFT_SHIFT:左边Shift键
LEFT_CONTROL:左边Ctrl键
ENTER:回车键
SPACE:空格键
BACKSPACE:退格键
BACK_SPACE:退格键
ESCAPE:Esc键
F1--F12:F1--F12键
INSERT:插入键
DELETE:删除键
HOME:定位行首
END:定位行尾
以下键盘编码,搜索于百度!
ESC键VK_ESCAPE (27)
回车键:VK_RETURN (13)
TAB键:VK_TAB (9)
Caps Lock键:VK_CAPITAL (20)
Shift键:VK_SHIFT (16)
Ctrl键:VK_CONTROL (17)
Alt键:VK_MENU (18)
空格键:VK_SPACE (32)
Backspace键:VK_BACK (8)
左徽标键:VK_LWIN (91)
右徽标键:VK_RWIN (92)
鼠标右键快捷键:VK_APPS (93)
Insert键:VK_INSERT (45)
Home键:VK_HOME (36)
Page Up:VK_PRIOR (33)
PageDown:VK_NEXT (34)
End键:VK_END (35)
Delete键:VK_DELETE (46)
方向键(←):VK_LEFT (37)
方向键(↑):VK_UP (38)
方向键(→):VK_RIGHT (39)
方向键(↓):VK_DOWN (40)
F1键:VK_F1 (112)
F2键:VK_F2 (113)
F3键:VK_F3 (114)
F4键:VK_F4 (115)
F5键:VK_F5 (116)
F6键:VK_F6 (117)
F7键:VK_F7 (118)
F8键:VK_F8 (119)
F9键:VK_F9 (120)
F10键:VK_F10 (121)
F11键:VK_F11 (122)
F12键:VK_F12 (123)
Num Lock键:VK_NUMLOCK (144)
小键盘0:VK_NUMPAD0 (96)
小键盘1:VK_NUMPAD1 (97)
小键盘2:VK_NUMPAD2 (98)
小键盘3:VK_NUMPAD3 (99)
小键盘4:VK_NUMPAD4 (100)
小键盘5:VK_NUMPAD5 (101)
小键盘6:VK_NUMPAD6 (102)
小键盘7:VK_NUMPAD7 (103)
小键盘8:VK_NUMPAD8 (104)
小键盘9:VK_NUMPAD9 (105)
小键盘。:VK_DECIMAL (110)
小键盘*:VK_MULTIPLY (106)
小键盘+:VK_ADD (107)
小键盘-:VK_SUBTRACT (109)
小键盘/:VK_DIVIDE (111)
Pause Break键:VK_PAUSE (19)
Scroll Lock键:VK_SCROLL (145)
二、鼠标操作
#!usr/bin/env python
# -*-coding:utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
import time
driver = webdriver.Chrome()
driver.get("file:///D:/%E5%B7%A5%E4%BD%9C%E6%96%87%E4%BB%B6/bookmarks_2019_6_24.html")
##左键
submit=driver.find_element_by_id("xxx")
ActionChains(driver).click(submit).perform()
##右键
submit=driver.find_element_by_id("xxx")
ActionChains(driver).context_click(submit).perform()
##双击
submit=driver.find_element_by_id("xxx")
ActionChains(driver).double_click(submit).perform()
##拖放到指定坐标位置
submit=driver.find_element_by_id("xxx")
ActionChains(driver).drag_and_drop_by_offset(submit,15,15).perform()
##拖放到目标元素位置
submit=driver.find_element_by_id("xxx")
target=driver.find_element_by_id("yyyy")
ActionChains(driver).drag_and_drop(submit,target).perform()
##鼠标在指定元素悬停
submit=driver.find_element_by_id("xxx")
ActionChains(driver).move_to_element(submit).perform()
##鼠标在指定位置悬停
submit=driver.find_element_by_id("xxx")
ActionChains(driver).move_by_offset(15,15).perform()
##鼠标左键元素并保持
submit=driver.find_element_by_id("xxx")
ActionChains(driver).click_and_hold(submit).perform()
##Ctrl+c拷贝组合件
ActionChains(driver).key_down(Keys.CONTROL).send_keys("c").key_up(Keys.CONTROL).perform()