
    iW                     n    S SK Jr  S SKJr  S SKJr  S SKJr  S SK	J
r
  S SKJr  S SKJr   " S S	\5      rg
)    )Optional)WebDriverException)DriverFinder)	WebDriver)Options)SafariRemoteConnection)Servicec                      ^  \ rS rSrSr   SS\\   S\\   SS4U 4S jjjrU 4S jr	S	 r
S
 rS rS rS rS rSrU =r$ )r      z>Controls the SafariDriver and allows you to drive the browser.Noptionsservicereturnc                 (  > U(       a  UO	[        5       U l        U(       a  UO	[        5       nU R                  R                  5       =(       d$    [	        U R                  U5      R                  5       U R                  l        U R                  R                  (       d  U R                  R                  5         [        U R                  R                  UUR                  S9n [        TU ]5  XBS9  SU l        g! [         a    U R                  5         e f = f)a\  Creates a new Safari driver instance and launches or finds a running
safaridriver service.

Args:
    keep_alive: Whether to configure SafariRemoteConnection to use
        HTTP keep-alive. Defaults to True.
    options: Instance of ``options.Options``.
    service: Service object for handling the browser driver if you need to pass extra details
)remote_server_addr
keep_aliveignore_proxy)command_executorr   FN)r	   r   r   env_pathr   get_driver_pathpathreuse_servicestartr   service_url_ignore_local_proxysuper__init__	Exceptionquit
_is_remote)selfr   r   r   executor	__class__s        PC:\des-py\RoboSAPF\venv\Lib\site-packages\selenium\webdriver\safari\webdriver.pyr   WebDriver.__init__   s     #*wwy$'') LL113l|DLLRY7Z7j7j7l||))LL )#||77! 44
	GhH
  	  	IIK	s    C5 5Dc                 &  >  [         TU ]  5         U R                  R                  (       d  U R                  R                  5         gg! [         a     NCf = f! U R                  R                  (       d  U R                  R                  5         f f = f)z>Closes the browser and shuts down the SafariDriver executable.N)r   r   r   r   r   stop)r    r"   s    r#   r   WebDriver.quitD   sn    	$GLN
 <<--!!# .	  		 <<--!!# .s#   A 
AA AA 8Bc                 r    [        U[        5      (       d  [        S5      eX0nU R                  SSU05        g )Nz;Value of a session permission must be set to True or False.SET_PERMISSIONSpermissions)
isinstanceboolr   execute)r    
permissionvaluepayloads       r#   set_permissionWebDriver.set_permissionS   s7    %&&$%bcc%&(@A    c                     U R                  S5      S   nUS   nU(       d  g X;  a  g X1   n[        U[        5      (       d  g U$ )NGET_PERMISSIONSr/   r*   )r-   r+   r,   )r    r.   r0   r*   r/   s        r#   get_permissionWebDriver.get_permission[   sL    ,,01':m,('%&&r3   c                 H    U R                  S5        U R                  S5        g )NATTACH_DEBUGGERz	debugger;)r-   execute_script)r    s    r#   debugWebDriver.debugk   s    &'K(r3   c                     [         eNNotImplementedErrorr    argskwargss      r#   download_fileWebDriver.download_fileo       !!r3   c                     [         er>   r?   rA   s      r#   get_downloadable_files WebDriver.get_downloadable_filesr   rF   r3   c                     [         er>   r?   rA   s      r#   delete_downloadable_files#WebDriver.delete_downloadable_filesu   rF   r3   )r   r   )TNN)__name__
__module____qualname____firstlineno____doc__r   r   r	   r   r   r1   r6   r;   rD   rH   rK   __static_attributes____classcell__)r"   s   @r#   r   r      sm    H %)%)	#  '"#  '"	# 
 
#  # J	$B )""" "r3   r   N)typingr   selenium.common.exceptionsr   'selenium.webdriver.common.driver_finderr   #selenium.webdriver.remote.webdriverr   RemoteWebDriver!selenium.webdriver.safari.optionsr   +selenium.webdriver.safari.remote_connectionr   !selenium.webdriver.safari.servicer	    r3   r#   <module>r]      s*   $  9 @ L 5 N 5Z" Z"r3   