zoukankan      html  css  js  c++  java
  • WebDriver API——第3部分Action Chains

    The ActionChains implementation,

    class selenium.webdriver.common.action_chains.ActionChains(driver)

    Bases: object

    ActionChains are a way to automate low level interactions such as mouse movements, mouse button actions, key press, and context menu interactions. This is useful for doing more complex actions like hover over and drag and drop.

    Generate user actions.
    When you call methods for actions on the ActionChains object, the actions are stored in a queue in the ActionChains object. When you call perform(), the events are fired in the order they are queued up.

    ActionChains can be used in a chain pattern:

    menu = driver.find_element_by_css_selector(".nav")
    hidden_submenu = driver.find_element_by_css_selector(".nav #submenu1")
    
    ActionChains(driver).move_to_element(menu).click(hidden_submenu).perform()
    

    Or actions can be queued up one by one, then performed.:

    menu = driver.find_element_by_css_selector(".nav")
    hidden_submenu = driver.find_element_by_css_selector(".nav #submenu1")
    
    actions = ActionChains(driver)
    actions.move_to_element(menu)
    actions.click(hidden_submenu)
    actions.perform()
    

    Either way, the actions are performed in the order they are called, one after another.

    click(on_element=None)

    Clicks an element.

    Args:
    • on_element: The element to click. If None, clicks on current mouse position.
    click_and_hold(on_element=None)

    Holds down the left mouse button on an element.

    Args:
    • on_element: The element to mouse down. If None, clicks on current mouse position.
    context_click(on_element=None)

    Performs a context-click (right click) on an element.

    Args:
    • on_element: The element to context-click. If None, clicks on current mouse position.
    double_click(on_element=None)

    Double-clicks an element.

    Args:
    • on_element: The element to double-click. If None, clicks on current mouse position.
    drag_and_drop(sourcetarget)
    Holds down the left mouse button on the source element,
    then moves to the target element and releases the mouse button.
    Args:
    • source: The element to mouse down.
    • target: The element to mouse up.
    drag_and_drop_by_offset(sourcexoffsetyoffset)
    Holds down the left mouse button on the source element,
    then moves to the target offset and releases the mouse button.
    Args:
    • source: The element to mouse down.
    • xoffset: X offset to move to.
    • yoffset: Y offset to move to.
    key_down(valueelement=None)
    Sends a key press only, without releasing it.
    Should only be used with modifier keys (Control, Alt and Shift).
    Args:
    • value: The modifier key to send. Values are defined in Keys class.
    • element: The element to send keys. If None, sends a key to current focused element.

    Example, pressing ctrl+c:

    ActionsChains(driver).key_down(Keys.CONTROL).send_keys('c').key_up(Keys.CONTROL).perform()
    
    key_up(valueelement=None)

    Releases a modifier key.

    Args:
    • value: The modifier key to send. Values are defined in Keys class.
    • element: The element to send keys. If None, sends a key to current focused element.

    Example, pressing ctrl+c:

    ActionsChains(driver).key_down(Keys.CONTROL).send_keys('c').key_up(Keys.CONTROL).perform()
    
    move_by_offset(xoffsetyoffset)

    Moving the mouse to an offset from current mouse position.

    Args:
    • xoffset: X offset to move to, as a positive or negative integer.
    • yoffset: Y offset to move to, as a positive or negative integer.
    move_to_element(to_element)

    Moving the mouse to the middle of an element.

    Args:
    • to_element: The WebElement to move to.
    move_to_element_with_offset(to_elementxoffsetyoffset)
    Move the mouse by an offset of the specified element.
    Offsets are relative to the top-left corner of the element.
    Args:
    • to_element: The WebElement to move to.
    • xoffset: X offset to move to.
    • yoffset: Y offset to move to.
    perform()

    Performs all stored actions.

    release(on_element=None)

    Releasing a held mouse button on an element.

    Args:
    • on_element: The element to mouse up. If None, releases on current mouse position.
    send_keys(*keys_to_send)

    Sends keys to current focused element.

    Args:
    • keys_to_send: The keys to send. Modifier keys constants can be found in the

    ‘Keys’ class.

    send_keys_to_element(element*keys_to_send)

    Sends keys to an element.

    Args:
    • element: The element to send keys.
    • keys_to_send: The keys to send. Modifier keys constants can be found in the

    ‘Keys’ class.

  • 相关阅读:
    LOJ2323. 「清华集训 2017」小 Y 和地铁 【搜索】【思维】【好】
    BZOJ2687 交与并/BZOJ2369 区间【决策单调性优化DP】【分治】
    BZOJ1563 NOI2009 诗人小G【决策单调性优化DP】
    LOJ6039. 「雅礼集训 2017 Day5」珠宝【决策单调性优化DP】【分治】【思维好题】
    BZOJ4709 Jsoi2011 柠檬【决策单调性+单调栈】
    BZOJ2216 Poi2011 Lightning Conductor 【决策单调性优化DP】
    BZOJ3675 Apio2014 序列分割 【斜率优化】
    BZOJ4566 Haoi2016 找相同字符【广义后缀自动机】
    51nod 1600 Simple KMP【后缀自动机+LCT】【思维好题】*
    linux usermod
  • 原文地址:https://www.cnblogs.com/hushaojun/p/4467474.html
Copyright © 2011-2022 走看看