多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[TOC] # 简介 鼠标操作由ActionChains()类来提供 键盘的操作由Key()类来提供 # 鼠标操作 导入动作链类,动作链可以存储鼠标的动作,并一起执行 ~~~ from selenium.webdriver import ActionChains ActionChains(driver) ~~~ 执行ActionChains中存储的所有的动作 ~~~ perform() ~~~ * 鼠标右击 ~~~ el = driver.find_element_by_xx(value) #对el执行右击 ActionChains(driver).context_click(el).perform() ~~~ * 双击操作 ~~~ el = driver.find_element_by_xx(value) ActionChains(driver).double_click(el).perform() ~~~ * 鼠标悬停 ~~~ el = driver.find_element_by_xx(value) ActionChains(driver).move_to_element(el).perform() ~~~ ## 鼠标右击 ~~~ import time from selenium import webdriver from selenium.webdriver import ActionChains from selenium.webdriver.common.by import By br = webdriver.Chrome() br.get("http://www.baidu.com") # id值为kw el = br.find_element(By.ID, 'kw') ActionChains(br).context_click(el).perform() time.sleep(5) br.quit() ~~~ ## 鼠标悬停 ~~~ url = 'http://www.jd.com' driver.get(url) # 获取分类组元素 el_list = driver.find_elements_by_class_name('cate_menu_item') for el in el_list: ActionChains(driver).move_to_element(el).perform() time.sleep(1) driver.quit() ~~~ # 键盘操作 键盘操作一般使用key类,一般配合send_keys使用 导入 ~~~ from selenium.webdriver.common.key import Key ~~~ 常用键盘操作 ~~~ send_keys(Keys.BACK_SPACE) #删除键 ~~~ ![](https://img.kancloud.cn/5f/41/5f41b126d75e122b65be9cad50ecadf3_430x214.png) ![](https://img.kancloud.cn/f2/97/f2973f7b10aae22ef3303640dc4ea9c4_430x220.png) ~~~ from selenium import webdriver # 导入Key类,key类中包含很多键盘按钮操作 from selenium.webdriver.common.keys import Keys import time # 打开浏览器 driver = webdriver.Firefox() # 访问必应搜索 url= 'http://cn.bing.com/' driver.get(url) # 定位到输入框 el = driver.find_element_by_id('sb_form_q') # 输入关键字 el.send_keys('selenium') time.sleep(1) el.send_keys(Keys.CONTROL,'a') time.sleep(1) # 执行剪切操作 el.send_keys(Keys.CONTROL,'x') time.sleep(1) # 执行粘贴操作 el.send_keys(Keys.CONTROL,'v') time.sleep(1) # 清空操作 el.clear() #输入 单词 el.send_keys('seleniumn') time.sleep(1) # 退格删除 el.send_keys(Keys.BACK_SPACE) time.sleep(5) driver.quit() ~~~