o
    ҷh2
                     @   sR   d dl mZ d dlmZ ddlmZ ddlmZ G dd dZG dd	 d	eZ	d
S )    )Union)
WebElement   )interaction)InputDevicec                   @   s   e Zd Zdeeef dededdfddZedd	ededefd
dZ	eddedefddZ
edeeef fddZedefddZedefddZdS )ScrollOriginoriginx_offsety_offsetreturnNc                 C   s   || _ || _|| _d S N)_origin	_x_offset	_y_offset)selfr   r	   r
    r   `/var/www/html/venv/lib/python3.10/site-packages/selenium/webdriver/common/actions/wheel_input.py__init__   s   
zScrollOrigin.__init__r   elementc                 C   s   | |||S r   r   )clsr   r	   r
   r   r   r   from_element      zScrollOrigin.from_elementc                 C   s   | d||S )Nviewportr   )r   r	   r
   r   r   r   from_viewport#   r   zScrollOrigin.from_viewportc                 C      | j S r   )r   r   r   r   r   r   '      zScrollOrigin.originc                 C   r   r   )r   r   r   r   r   r	   +   r   zScrollOrigin.x_offsetc                 C   r   r   )r   r   r   r   r   r
   /   r   zScrollOrigin.y_offset)r   r   )__name__
__module____qualname__r   strr   intr   classmethodr   r   propertyr   r	   r
   r   r   r   r   r      s    "r   c                       s`   e Zd Zd fddZdefddZdeded	ed
ededdfddZdeddfddZ	  Z
S )
WheelInputr   Nc                    s    t  j|d || _tj| _d S )N)name)superr   r%   r   WHEELtype)r   r%   	__class__r   r   r   5   s   zWheelInput.__init__c                 C   s   | j | j| jdS )N)r(   idactions)r(   r%   r,   r   r   r   r   encode:   s   zWheelInput.encodexydelta_xdelta_ydurationc              
   C   s2   t |tr
d|ji}| d||||||d d S )Nz#element-6066-11e4-a52e-4f735466cecfscroll)r(   r.   r/   deltaXdeltaYr2   r   )
isinstancer   r+   
add_action)r   r.   r/   r0   r1   r2   r   r   r   r   create_scroll=   s   

zWheelInput.create_scrollpause_durationc                 C   s   |  dt|d d d S )Npausei  )r(   r2   )r7   r!   )r   r9   r   r   r   create_pauseL   s   zWheelInput.create_pause)r   N)r   r   r   r   dictr-   r!   r8   floatr;   __classcell__r   r   r)   r   r$   4   s
    "r$   N)
typingr   $selenium.webdriver.remote.webelementr    r   input_devicer   r   r$   r   r   r   r   <module>   s   