selenium——鼠標操作ActionChains:點擊、滑動、拖動


from selenium.webdriver import ActionChains


1、鼠標點擊

click:鼠標左擊
double_click:鼠標雙擊
context_click:鼠標右擊

btn = driver.find_element_by_id('su')
# 第一步:創建一個鼠標操作的對象
action = ActionChains(driver)
# 第二步:進行點擊動作(事實上不會進行操作,只是添加一個點擊的動作)
action.click(btn)
# 第三步:執行動作
action.perform()

 

2、鼠標移動

driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
driver.implicitly_wait(5)

# 定位設置元素
set_ele = driver.find_element_by_xpath("//div[@id='u1']//a[text()='設置']")
# 第一步:創建一個鼠標操作的對象
action = ActionChains(driver)
# 第二步:進行移動
action.move_to_element(set_ele)
# 第三步:執行動作
action.perform()

# 三行代碼寫成一行:支持鏈式調用
ActionChains(driver).move_to_element(set_ele).perform()

# 等待高級設置可點擊
WebDriverWait(driver,5,0.2).until(
    EC.element_to_be_clickable((By.XPATH,"//a[text()='高級搜索']"))
).click()

 

3、鼠標滑動

# 選擇拖動滑塊的節點
sli_ele = driver.find_element_by_id('tcaptcha_drag_thumb')
# ------------鼠標滑動操作------------
action = ActionChains(driver)
# 第一步:在滑塊處按住鼠標左鍵
action.click_and_hold(sli_ele)
# 第二步:相對鼠標當前位置進行移動
action.move_by_offset(100,0)
# 第三步:釋放鼠標
action.release()
# 執行動作
action.perform()

 

4、鼠標在一個元素上拖動到另一個元素

s = WebDriverWait(driver, 30, 0.5).until(
    EC.visibility_of_element_located((By.ID, 'draggable'))
)
t = WebDriverWait(driver, 30, 0.5).until(
    EC.visibility_of_element_located((By.ID, 'droppable'))
)
# ------------鼠標滑動操作------------
action = ActionChains(driver)
# 第一步:拖動元素
action.drag_and_drop(s, t) # 執行動作
action.perform()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM