o
    OThk	                     @   s\   d dl mZ d dlmZ d dlmZ d dlmZ	 ddl
mZ ddlmZ G dd	 d	e	ZdS )
    N)Optional)DriverFinder)	WebDriver   )Options)Servicec                       sL   e Zd ZdZ		ddee f fddZ fddZdd	 Zd
d Z	  Z
S )r   zAControls the WPEWebKitDriver and allows you to drive the browser.Nservicec                    sZ   |r|nt  }|r|nt | _t| j| | j_| j  t j| jj	|d d| _
dS )a6  Creates a new instance of the WPEWebKit driver.

        Starts the service and then creates new instance of WPEWebKit Driver.

        :Args:
         - options : an instance of ``WPEWebKitOptions``
         - service : Service object for handling the browser driver if you need to pass extra details
        )command_executoroptionsFN)r   r   r   r   get_driver_pathpathstartsuper__init__service_url
_is_remote)selfr
   r   	__class__ g/home/air/segue/gemini/back/venv/lib/python3.10/site-packages/selenium/webdriver/wpewebkit/webdriver.pyr      s   

zWebDriver.__init__c                    sR   z"zt    W n
 tjy   Y n	w W | j  dS W | j  dS | j  w )z{Closes the browser and shuts down the WPEWebKitDriver executable
        that is started when starting the WPEWebKitDriver.N)r   quithttp_clientBadStatusLiner   stop)r   r   r   r   r   5   s   zWebDriver.quitc                 O      t NNotImplementedErrorr   argskwargsr   r   r   download_file?      zWebDriver.download_filec                 O   r   r   r   r   r   r   r   get_downloadable_filesB   r#   z WebDriver.get_downloadable_files)NN)__name__
__module____qualname____doc__r   r   r   r   r"   r$   __classcell__r   r   r   r   r      s    
r   )http.clientclientr   typingr   'selenium.webdriver.common.driver_finderr   #selenium.webdriver.remote.webdriverr   RemoteWebDriverr
   r   r   r   r   r   r   r   <module>   s   