#coding=utf-8
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
#要使用鼠标操作,首先需要引入ActionChains包
from selenium.webdriver.common.action_chains import ActionChains
import time

#1、鼠标右键操作
driver = webdriver.Ie()
driver.get("http://www.mxvpnjsq.cc/member.php?mod=logging&action=login")
#输入用户名、密码,回车登陆
driver.find_element_by_name("username").send_keys("1290800466")
driver.find_element_by_name("username").send_keys(Keys.TAB)
driver.find_element_by_name("password").send_keys("15866584957")
driver.find_element_by_name("password").send_keys(Keys.ENTER)
time.sleep(5)
#定位到要右击的元素
qqq=driver.find_element_by_id("mn_Nfb8a")
#对定位到的元素执行鼠标右键操作
ActionChains(driver).context_click(qqq).perform()
time.sleep(3)
#按 下 键,进入右键菜单第一个选项
driver.find_element_by_id("mn_Nfb8a").send_keys(Keys.DOWN)
#直接按回车或单击进入
#driver.find_element_by_id("mn_Nfb8a").send_keys(Keys.ENTER)
#鼠标单击操作
driver.find_element_by_id("mn_Nfb8a").click()
time.sleep(3) #休眠3秒
driver.close()

#2、鼠标双击操作
driver = webdriver.Ie()
driver.get("http://www.mxvpnjsq.cc/space-uid-269119.html")
#定位到要双击的元素
qqq =driver.find_element_by_id("spacename")
#对定位到的元素执行鼠标双击操作
ActionChains(driver).double_click(qqq).perform()
time.sleep(3) #休眠3秒
driver.close()

#3、鼠标拖放操作
driver = webdriver.Ie()
driver.get("http://www.mxvpnjsq.cc/space-uid-269119.html")
time.sleep(5)
#定位元素的原位置
element = driver.find_element_by_id("domainurl")
#定位元素要移动到的目标位置
target = driver.find_element_by_id("a_poke_269119")
#执行元素的移动操作
ActionChains(driver).drag_and_drop(element, target).perform()
#鼠标拖放过程详解:首先是鼠标点击并按住element元素,然后执行鼠标移动动作,
#移动到 target 元素位置或者是 (xOffset, yOffset) 位置,再执行鼠标的释放动作
#如上所示的目标位置既可以用某一元素位置表示,也可用坐标表示
time.sleep(5) #休眠3秒

driver.quit()


ActionChains 类鼠标操作的常用方法:

context_click() 右击
double_click() 双击
drag_and_drop() 拖动
move_to_element() 鼠标悬停在一个元素上
click_and_hold() 按下鼠标左键在一个元素上