Title

4、Selenium常用操作之鼠标操作

鼠标操作:

  • selenium为我们提供了一个模拟鼠标操作的类ActionChains,它的执行原理,当你调用ActionChains的方法时,不会立即执行,而是会将所有的操作按顺序存放在一个队列里,当你调用perform()方法时,队列中的时间会依次执行
  • 第一步:需要导包,有两种方式,如下操作
    • from selenium.webdriver.common.action_chains import ActionChains
    • from selenium.wendriver import ActionChains
  • 第二步:代码编写
    • 链式写法
      • ActionChains(驱动).context_click(页面元素).鼠标其他操作(页面元素).xxx().perform()
    • 分布式写法
      • ac = AActionChains(驱动)
      • ac.鼠标操作1(页面元素)
      • ac.鼠标操作2(页面元素)
      • ac.鼠标操作3(页面元素)
      • ...
      • ac.perform()
  • 代码示例
 1 from selenium import webdriver
 2 from selenium.webdriver import ActionChains
 3 
 4 driver = webdriver.Chrome()
 5 
 6 driver.get('https://www.baidu.com')
 7 
 8 bd_input = driver.find_element_by_id('kw')
 9 
10 # 方式一:百度输入框中点击鼠标右键
11 ActionChains(driver).context_click(bd_input).perform()
12 
13 # 方式二:百度输入框点击右键
14 ac = ActionChains(driver)
15 ac.context_click(bd_input)
16 ac.perform()
  • 鼠标常用操作及代码示例
    • 鼠标左键单击:click(on_element=None)
    • 模拟鼠标单击且按住不放:click_and_hold(on_element=None)
    • 模拟鼠标双击:double_click(on_element=None)
    • 模拟鼠标右击:context_click(on_element=None)
    • 模拟鼠标拖拽:drag_and_drop(source,target)
    • 模拟将鼠标拖拽到目标位置:drag_and_drop(source,xoffset,yoffset)
    • 按住某个键,实现快捷键操作:key_down(value,on_element=None)
    • 松开某个键:key_up(value,on_element=None)
    • 模拟鼠标移到指定元素:move_to_element(to_element)
    • 移动鼠标到某个坐标:move_to_element_with_offset(to_element,xoffset,yoffset)
    • 执行鼠标操作:perform()
    • 释放按下的鼠标:release(on_element=None)
posted @ 2023-04-02 20:14  huayaofan  阅读(17)  评论(0)    收藏  举报