一、鼠标操作
第一步:引入模块函数
from selenium.webdriver.common.action_chains import ActionChains
第二步:元素定位
element = driver.find_elements_by_id('kw')
第三步:创建一个action对象
action = ActionChains(driver)
第四步:在action对象上操作鼠标
action.move_to_element(element)
第五步:在action上进行perform,即实现刚刚一系列的动作提交
action.perform()
总的:
driver = webdriver.Chrome() element = driver.find_elements_by_id('kw') action = ActionChains(driver) action.move_to_element(element) action.perform()
ActionChains方法列表:
click(on_element=None) ——单击鼠标左键
click_and_hold(on_element=None) ——点击鼠标左键,不松开
context_click(on_element=None) ——点击鼠标右键
double_click(on_element=None) ——双击鼠标左键
drag_and_drop(source, target) ——拖拽到某个元素然后松开
drag_and_drop_by_offset(source, xoffset, yoffset) ——拖拽到某个坐标然后松开
key_down(value, element=None) ——按下某个键盘上的键
key_up(value, element=None) ——松开某个键
move_by_offset(xoffset, yoffset) ——鼠标从当前位置移动到某个坐标
move_to_element(to_element) ——鼠标移动到某个元素
move_to_element_with_offset(to_element, xoffset, yoffset) ——移动到距某个元素(左上角坐标)多少距离的位置
perform() ——执行链中的所有动作
release(on_element=None) ——在某个元素位置松开鼠标左键
send_keys(*keys_to_send) ——发送某个键到当前焦点的元素
send_keys_to_element(element, *keys_to_send) ——发送某个键到指定元素
二、键盘操作:
引入模块函数:
from selenium.webdriver.common.keys import Keys
# -*- coding: utf-8 -*- from selenium import webdriver from selenium.webdriver.common.keys import Keys import time driver = webdriver.Chrome() driver.get("http://www.baidu.com") time.sleep(3) driver.find_element_by_id('kw').send_keys('selenium') #在搜索框中输入"selenium" driver.find_element_by_id('kw').send_keys(Keys.SPACE) #输入空格键 driver.find_element_by_id('kw').send_keys('python') #在搜索框中输入"python" driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'a') #输入Control+a模拟全选 driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'c') #输入Control+c模拟复制 driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'v') #输入Control+v模拟粘贴 driver.find_element_by_id('kw').send_keys(Keys.ENTER) #输入回车代替点击搜索按钮 time.sleep(3) driver.close() #下面是一些常用的键盘事件: # Keys.BACK_SPACE:回退键(BackSpace) # Keys.TAB:制表键(Tab) # Keys.ENTER:回车键(Enter) # Keys.SHIFT:大小写转换键(Shift) # Keys.CONTROL:Control键(Ctrl) # Keys.ALT:ALT键(Alt) # Keys.ESCAPE:返回键(Esc) # Keys.SPACE:空格键(Space) # Keys.PAGE_UP:翻页键上(Page Up) # Keys.PAGE_DOWN:翻页键下(Page Down) # Keys.END:行尾键(End) # Keys.HOME:行首键(Home) # Keys.LEFT:方向键左(Left) # Keys.UP:方向键上(Up) # Keys.RIGHT:方向键右(Right) # Keys.DOWN:方向键下(Down) # Keys.INSERT:插入键(Insert) # DELETE:删除键(Delete) # NUMPAD0 ~ NUMPAD9:数字键1-9 # F1 ~ F12:F1 - F12键 # (Keys.CONTROL, ‘a’):组合键Control+a,全选 # (Keys.CONTROL, ‘c’):组合键Control+c,复制 # (Keys.CONTROL, ‘x’):组合键Control+x,剪切 # (Keys.CONTROL, ‘v’):组合键Control+v,粘贴