
    dh?                     N    S SK JrJrJrJrJr  S SKJr  S SKJ	r	   " S S\	5      r
g)    )AnyDictIteratorOptionalSequence)Document)
BaseLoaderc                   z    \ rS rSrSr     SS\\   S\S\\   S\\   S\\   S	\\   4S
 jjr	S\
\   4S jrSrg)BrowserbaseLoader   zLoad pre-rendered web pages using a headless browser hosted on Browserbase.

Depends on `browserbase` and `playwright` packages.
Get your API key from https://browserbase.com
Nurlstext_contentapi_key
project_id
session_idproxyc                     Xl         X l        XPl        X@l        X`l         SSKJn  U" US9U l        g ! [         a    [        S5      ef = f)Nr   )BrowserbasezZYou must run `pip install --upgrade browserbase playwright` to use the Browserbase loader.)r   )r   r   r   r   r   browserbaser   ImportError)selfr   r   r   r   r   r   r   s           h/var/www/html/shao/venv/lib/python3.13/site-packages/langchain_community/document_loaders/browserbase.py__init__BrowserbaseLoader.__init__   sX     	($$
	/ 'w7  	1 	s	   2 Areturnc              #     #     SSK Jn  U R                   GH  nU" 5        nU R                  (       a.  U R
                  R                  R                  U R                  S9nOuU R                  (       d  [        S5      eSU R                  0nU R                  b  [        U R                  5      US'   U R
                  R                  R                  " S0 UD6nUR                  R                  UR                  5      nUR                   S   nUR"                  S   nUR%                  U5        U R&                  (       a  UR)                  S	5      n	[+        U	5      n
OUR-                  5       n[+        U5      n
UR/                  5         UR/                  5         [1        U
S
U0S9v   SSS5        GM     g! [         a    [        S5      ef = f! , (       d  f       GM  = f7f)zLoad pages from URLsr   )sync_playwrightz\playwright is required for BrowserbaseLoader. Please run `pip install --upgrade playwright`.)idz*project_id is required to create a sessionr   Nr   bodyurl)page_contentmetadata )playwright.sync_apir   r   r   r   r   sessionsretriever   
ValueErrorr   boolcreatechromiumconnect_over_cdpconnect_urlcontextspagesgotor   
inner_textstrcontentcloser   )r   r   r    
playwrightsessionsession_paramsbrowsercontextpage	page_textr2   	page_htmls               r   	lazy_loadBrowserbaseLoader.lazy_load*   s    	; 99C "j??"..77@@DOO@TG??()UVV6BDOO5TNzz-26tzz2Bw/"..77>>PPG %-->>w?R?RS!**1-}}Q' 		#$$ $ 7I!)nG $I!)nG 

!(s ? #"   	A 	 #"s3   GF/ GF G!G/GG
G		G)r   r   r   r   r   r   )FNNNN)__name__
__module____qualname____firstlineno____doc__r   r1   r(   r   r   r   r   r<   __static_attributes__r#       r   r   r      s|     #!%$($( $8sm8 8 #	8
 SM8 SM8 ~86/8H- /rD   r   N)typingr   r   r   r   r   langchain_core.documentsr   )langchain_community.document_loaders.baser	   r   r#   rD   r   <module>rH      s    : : - @Q
 QrD   