Python-Selenium control mouse

In actual automated testing, it is often necessary to simulate some mouse operations to assist in completing some special operations on the page. For example, some require the mouse to drag page elements, move the page elements, hover the mouse over the page elements, etc., so encapsulate some The tool class is convenient for direct call in writing test code.

#encoding=utf-8
from selenium.webdriver.common.action_chains import ActionChains

class Simulate_Mouse:

    def __init__(self,driver):
        self.driver = driver
        self.actions = ActionChains(self.driver)

    # 按一下鼠标左键
    def left_click(self,element):
        self.actions.click(element).perform()

    # 按两下鼠标左键
    def double_click(self,element):
        self.actions.double_click(element).perform()

    # 按一下鼠标右键
    def right_click(self,element):
        self.actions.context_click(element).perform()

    # 移动鼠标到element
    def move_mouse(self,element):
        self.actions.move_to_element(element).perform()

    # 按住并且不放
    def click_hold(self,element):
        self.actions.click_and_hold(element)

    # 从source拖拽移动鼠标到target
    def move_mouse_source_target(self,source,target):
        self.actions.drag_and_drop(source,target).perform()

    # 从source点击鼠标左键不松开,在target处释放,同上句效果一样
    def move_mouse_target(self,source,target):
        self.actions.click_and_hold(source).release(target).perform()

    # 拖拽元素到坐标(x,y)
    def drag_element(self,element,x,y):
        self.actions.click_and_hold(element).move_by_offset(x,y).release().perform()


Guess you like

Origin blog.csdn.net/weixin_52385863/article/details/113184307