selenium 常见操作,使用 ActionChains 类来进行鼠标操作

鼠标操作

  • 由 selenium 的 ActionChains 类来完成模拟鼠标操作。ActionChains(译:按可深柴死)

鼠标操作步骤:ActionChains

  • 1、实例化
  • 2、调用对元素的鼠标操作方法
  • 3、 调用perform()执行。

需要引入 ActionChains 类:

from selenium.webdriver.common.action_chains import ActionChains

示例:ActionChains(driver).方法名1().context_ click() perform()

ActionChains类里面的方法行为:
初始化的时候需要传driver 对象,内置的一个空列表中:(译:)

  • perform:执行所有的行为
    • (译:泼峰)执行所有存储的操作
  • reset_actions:将整个列表清空
    • (译:瑞斯特.安可深思)清除已在本地和远程端存储的操作  
  • click:点击
    • (译:可立克)点击一个元素。  
  • click_and_hold:拖拽
    • (译:可立克.按得.后的)按住元素上的鼠标左键。不松  
  • context_click:右击
    • (译:康泰克斯特.可立克)对元素执行上下文单击(右击)。  
  • double_click:双击
    • (译:大泊儿.可立克)双击其中的一个元素。
  • drag_and_drop:拖拽到目标后松开
    • (译:转个.按得.赵坡)按住源元素上的鼠标左键,然后移动到目标元素并释放鼠标按钮。    
  • drag_and_drop_by_offset:偏移拖拽
    • (译:转个.按得.赵坡.白.奥佛赛特)按住源元素上的鼠标左键,然后移动到目标偏移量并释放鼠标按钮。   
  • key_down:在一个元素上按住一个键不松
    • (译:k当)只发送一个按键,不释放它。只能与修改键(控制,Ctrl、Alt和Shift)一起使用。  
  • key_up: 松开按键
    • (译:K阿婆)释放修改键。  
  • move_by_offset:鼠标移动
    • (译:目.白.奥佛赛特)将鼠标移动到当前鼠标位置的偏移量。  
  • move_to_element:鼠标悬浮
    • (译:目.图.按了们特)将鼠标移动到元素的中间。  
  • move_to_element_with_offset:鼠标坐标偏移
    • (译:目.图.按了们特.位子.奥佛赛特)将鼠标移动指定元素的偏移量。偏移量相对于元素的左上角。  
  • pause:暂停
    • (译:普斯)在指定的持续时间内暂停所有输入(以秒为单位)--每个动作执行后需要暂停几秒不执行之后操作  
  • release:松开
    • (译:瑞丽斯)释放元素上被按住的鼠标按钮。  
  • send_keys:输入
    • (译:森德.K死)向元素发送键。  
  • send_keys_to_element:在元素上输入文本
    • (译:森德.K死.图.按了们特)  
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains

driver = webdriver.Chrome()

driver.get("http://www.baidu.com")

# 找到元素
ele = driver.find_element_by_xpath('//div[@id="u1"]//a[@name="tj_settingicon"]')
# 1、鼠标操作实例化;鼠标悬浮在百度首页“设置”按钮上方,暂停0.5秒,点击操作,perform执行之前的所有操作
ActionChains(driver).move_to_element(ele).pause(0.5).click(ele).perform()

# 2、能不用1的鼠标操作的尽量不用,鼠标操作不稳定
# ele.click()

*******请大家尊重原创,如要转载,请注明出处:转载自:https://www.cnblogs.com/shouhu/,谢谢!!******* 

猜你喜欢

转载自www.cnblogs.com/shouhu/p/12205169.html