大屏24字典python+selenium的行为 python+selenium:Action Chains类常用于模拟鼠标的行为,比如单击,双击,拖拽等行为

大屏24字典python+selenium的行为

导入 Action Chains:

from selenium.webdriver.common.action_chains import ActionChains

举例:

  1.  
    import time
  2.  
    from selenium import webdriver
  3.  
    from selenium.webdriver import ActionChains
  4.  
     
  5.  
    browser =webdriver.Firefox()
  6.  
    browser.get('http://www.xxx')
  7.  
    browser.switch_to.frame('iframeResult') # id = 'iframeResult'
  8.  
    source = browser.find_element_by_css_selector('#draggable') # 被拖拽的对象
  9.  
    target = browser.find_element_by_css_selector('#droppable') # 目标对象
  10.  
    actions = ActionChains(browser)
  11.  
    actions.drag_and_drop(source, target)
  12.  
    actions.perform()
  13.  
    time.sleep(3)
  14.  
    browser.close()

下面是一些常用的模拟鼠标的操作:

  • click(on_element=None)
    鼠标单击
  • click_and_hold(on_element=None)
    鼠标单击并且按住不放
  • context_click(on_element=None)
    右击
  • double_click(on_element=None)
    双击
  • drag_and_drop(source, target)
    拖拽
  • drag_and_drop_by_offset(source, xoffset, yoffset)
    将目标拖动到指定的位置
  • key_down(value, element=None)
    按住某个键,使用这个方法可以方便的实现某些快捷键,比如下面按下Ctrl+c键

  • ActionsChains(browser).key_down(Keys.CONTROL).send_keys('c').perform()
    

    key_up(value, element=None)
    松开某个键,可以配合上面的方法实现按下Ctrl+c并且释放。

  • ActionsChains(browser).key_down(Keys.CONTROL).send_keys('c').key_up(Keys.CONTROL).perform()
    
  • move_by_offset(xoffset, yoffset)
    指定鼠标移动到某一个位置,需要给出两个坐标位置
  • move_to_element(to_element)
    将鼠标移动到指定的某个元素的位置
  • move_to_element_with_offset(to_element, xoffset, yoffset)
    移动鼠标到某个元素位置的偏移位置
  • perform()
    将之前的一系列的ActionChains执行
  • release(on_element=None)
    释放按下的鼠标
  • send_keys(*keys_to_send)
    向某个元素位置输入值
  • send_keys_to_element(element, *keys_to_send)
    向指定的元素输入数据

【博客来源】:https://www.cnblogs.com/cnkai/p/7538267.html