1. 程式人生 > >selenium_webdriver(python)滑鼠操作詳解

selenium_webdriver(python)滑鼠操作詳解

#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() 按下滑鼠左鍵在一個元素上