一、鼠标事件
在webdriver中,关于鼠标操作的方法封装在ActionChains类中,常用的方法有:
1、perform() 执行所有ActionChains中存储的行为
2、context_click() 右击
3、double_click() 双击
4、drag_and_drop() 拖动
5、move_to_element() 鼠标悬停
1 from selenium import webdriver 2 from selenium.webdriver.common.action_chains import ActionChains 3 driver = webdriver.Chrome() 4 driver.get("https://www.baidu.com/") 5 driver.implicitly_wait(10) #等待10秒钟 6 driver.quit() #关闭浏览器 7 8 cliclk = driver.find_element_by_id("xx") 9 #对定位到的元素执行鼠标右击的操作 10 ActionChains(driver).context_click(cliclk).perform() 11 #对定位到的元素执行悬停操作 12 ActionChains(driver).move_to_element(cliclk).perform() 13 #对定位到的元素执行双击操作 14 ActionChains(driver).double_click(cliclk).perform() 15 #执行元素的拖动操作 16 source = driver.find_element_by_id("xx") #源元素 17 target = driver.find_element_by_id("xx") #目标元素 18 ActionChains(driver).drag_and_drop(source,target).perform() 19 20 # perform() 可以理解成是对整个操作的提交动作,执行ActionChains类中存储的行为
二、键盘事件
Keys()类提供了键盘上几乎所有按键的方法
1、常用的非组合的键
回车键:Keys.ENTER
删除键:Keys.BACK_SPACE
空格键:Keys.SPACE
制表键:Keys.TAB
回退键:Keys.ESCAPE
刷新键:Keys.F5
2、常用的组合键
send_keys(Keys.CONTROL,'a') # 全选(Ctrl+A)
send_keys(Keys.CONTROL,'c') # 复制(Ctrl+C)
send_keys(Keys.CONTROL,'x') # 剪切(Ctrl+X)
send_keys(Keys.CONTROL,'v') # 粘贴(Ctrl+V)
1 from selenium import webdriver 2 from selenium.webdriver.common.keys import Keys 3 driver = webdriver.Chrome() 4 driver.get("https://www.baidu.com/") 5 driver.implicitly_wait(10) #等待10秒钟 6 driver.quit() #关闭浏览器 7 8 cliclk = driver.find_element_by_id("xx") 9 # 执行Ctrl+C 10 driver.find_element_by_id(cliclk).send_keys(Keys.CONTROL,'c') 11 # 执行删除 12 driver.find_element_by_id(cliclk).send_keys(Keys.BACK_SPACE)
浙公网安备 33010602011771号