Selenium4 系列 - 鼠標、鍵盤操作詳細解讀


有哪些鼠標操作呢?

  • 執行操作
  • 左鍵、右鍵單擊、雙擊
  • 鼠標懸停到元素、偏移處
  • 長按
  • 拖動

點擊右邊目錄即可跳轉哦! -------------->>>>>>>>>> 

 act.moveToElement(link).contextClick().sendKeys(Keys.ArrowsDown).build().perform();

執行操作

perform() 方法

主要是調用其他操作方法后,都要再次調用這個方法,表示執行某個鼠標操作,后面會有例子

 

左鍵、右鍵單擊、雙擊

from selenium.webdriver import ActionChains from selenium import webdriver driver = webdriver.Chrome("../resources/chromedriver.exe") # 創建實例 chains = ActionChains(driver) # 訪問網址 driver.get("file:///C:/test.html") # 登錄按鈕 username = driver.find_element_by_id("username") login_btn = driver.find_element_by_class_name("login") password = driver.find_element_by_id("password") # 左鍵點擊 chains.click(username).perform() # 右鍵點擊 chains.context_click(username).perform() # 雙擊 chains.double_click(password).perform()

 

鼠標懸停到元素、偏移處

# 懸停到設置按鈕 chains.move_to_element(login_btn).perform() # 懸停到指定偏移量 chains.move_to_element_with_offset(login_btn, 2, 2).perform()

知識點

move_to_element_with_offset() 是先找到元素,再根據元素位置偏移指定偏移量

 

長按

# 長按 chains.click_and_hold(login_btn).perform()

 

拖動

# 拖動1 chains.drag_and_drop(source=username, target=password) # 拖動2 chains.drag_and_drop_by_offset(source=username, xoffset=20, yoffset=20)

知識點

  • drag_and_drop 將源元素拖動到目標元素處
  • drag_and_drop_by_offset 將源元素拖動指定偏移量

 

有什么鍵盤操作?

  • 刪除鍵
  • 空格鍵
  • 制表鍵
  • 回退鍵
  • 回車鍵
  • 全選
  • 復制
  • 剪切
  • 粘貼
  • F1-F12
  • ......其實就是所有鍵盤都能模擬,包括alt、shift、insert、delete、home等等等...這里就不舉例了,看源碼很容易懂

 

#!/usr/bin/env python # -*- coding: utf-8 -*-  from time import sleep from selenium import webdriver from selenium.webdriver.common.keys import Keys driver = webdriver.Chrome("../resources/chromedriver.exe") driver.maximize_window() # 訪問網址 driver.get("http://www.baidu.com") # 找到搜索框 inputElement = driver.find_element_by_id("kw") # 輸入搜索內容 inputElement.send_keys("銳洋智能") # ctrl+a全選 inputElement.send_keys(Keys.CONTROL, "a") sleep(1) # ctrl+c 復制輸入框內容 inputElement.send_keys(Keys.CONTROL, 'c') sleep(1) # ctrl+x 剪切輸入框內容 inputElement.send_keys(Keys.CONTROL, 'x') sleep(1) # ctrl+v 粘貼輸入框內容 inputElement.send_keys(Keys.CONTROL, 'v') sleep(1) # 空格鍵 inputElement.send_keys(Keys.SPACE) sleep(1) # 后退鍵 inputElement.send_keys(Keys.BACKSPACE) sleep(1) # tab鍵 inputElement.send_keys(Keys.TAB) sleep(1) # 回車鍵 inputElement.send_keys(Keys.ENTER) # 刷新頁面 inputElement.send_keys(Keys.F5)

 


免責聲明!

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



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