
    vKgT                         S SK Jr  S SKJr  S SKr " S S\R                  R                  R                  R                  5      r	 " S S\	5      r
S
S\4S	 jjrg)    )List)ByNc                      ^  \ rS rSrU 4S jr SS\\R                  R                  R                  R                     4S jjrSrU =r$ )
WebElement   c                 X   > [         TU ]  5         U R                  R                  S5        g )Ng?)superclick_parent	reconnect)self	__class__s    b/var/www/highfloat_scraper/venv/lib/python3.13/site-packages/undetected_chromedriver/webelement.py
click_safeWebElement.click_safe   s    s#    returnc                     SnU(       a  USUR                  5       -  -  nU(       a  [        [        X5      5      $ [        U R                  R	                  X05      5      $ )zj
returns direct child elements of current element
:param tag: str,  if supplied, returns <tag> nodes only
z"return [... arguments[0].children]z'.filter( node => node.tagName === '%s'))upperlist_recursive_childrenr   execute_script)r   tag	recursivescripts       r   childrenWebElement.children   sP     6?#))+MMF+D677DLL//=>>r    )NF)__name__
__module____qualname____firstlineno__r   r   selenium	webdriverremote
webelementr   r   __static_attributes____classcell__r   s   @r   r   r      s<    $
 #(?	h  ''22==	>? ?r   r   c                   B   ^  \ rS rSrSrU 4S jr\S 5       rS rSr	U =r
$ )UCWebElement   a  
Custom WebElement class which makes it easier to view elements when
working in an interactive environment.

standard webelement repr:
<selenium.webdriver.remote.webelement.WebElement (session="85ff0f671512fa535630e71ee951b1f2", element="6357cb55-92c3-4c0f-9416-b174f9c1b8c4")>

using this WebElement class:
<WebElement(<a class="mobile-show-inline-block mc-update-infos init-ok" href="#" id="main-cat-switcher-mobile">)>

c                 2   > [         TU ]  X5        S U l        g )N)r	   __init___attrs)r   parentid_r   s      r   r.   UCWebElement.__init__(   s    %r   c                 ~    U R                   (       d!  U R                  R                  SU 5      U l         U R                   $ )Na,  
                var items = {}; 
                for (index = 0; index < arguments[0].attributes.length; ++index) 
                {
                 items[arguments[0].attributes[index].name] = arguments[0].attributes[index].value 
                }; 
                return items;
                )r/   r   r   )r   s    r   attrsUCWebElement.attrs,   s5    {{,,55 
DK {{r   c           
          SR                  U R                  R                  5        VVs/ sH  u  pU SU S3PM     snn5      nU(       a  SU-   nU R                  R                   SU R
                   U S3$ s  snnf )N z=""z <>)joinr4   itemsr   r   tag_name)r   kvstrattrss       r   __repr__UCWebElement.__repr__<   st    88djj6F6F6HI6Hdas"QCq\6HIJX~H..))*"T]]OH:QGG Js   A8
)r/   )r   r    r!   r"   __doc__r.   propertyr4   r@   r'   r(   r)   s   @r   r+   r+      s-    
  H Hr   r+   r   c                     U=(       d
    [        5       nU R                  5        HL  n U(       a"  U R                  U:X  a  UR                  U 5        OUR                  U 5        U[	        XU5      -  nMN     U$ )z
returns all children of <element> recursively

:param element: `WebElement` object.
        find children below this <element>

:param tag: str = None.
        if provided, return only <tag> elements. example: 'a', or 'img'
:param _results: do not use!
)setr   r<   addr   )elementr   _resultsresultss       r   r   r   C   sf     #%G##%3&G$KK &wW== & Nr   )NN)typingr   selenium.webdriver.common.byr   $selenium.webdriver.remote.webelementr#   r$   r%   r&   r   r+   strr   r   r   r   <module>rN      sM     + +?##**55@@ ?(%H: %HPc r   