1111 PROMPT_TEXTAREA_SELECTOR ,
1212 RESPONSE_CONTAINER_SELECTOR ,
1313 SUBMIT_BUTTON_SELECTOR ,
14+ UPLOAD_BUTTON_SELECTOR ,
1415)
1516from logging_utils import set_request_id
1617from models import ClientDisconnectedError
@@ -28,8 +29,9 @@ async def submit_prompt(
2829 set_request_id (self .req_id )
2930 self .logger .info (f"填充并提交提示 ({ len (prompt )} chars)..." )
3031 prompt_textarea_locator = self .page .locator (PROMPT_TEXTAREA_SELECTOR )
31- autosize_wrapper_locator = self .page .locator (
32- "ms-prompt-input-wrapper ms-autosize-textarea"
32+ autosize_wrapper_locator = self .page .locator ("ms-prompt-box .text-wrapper" )
33+ legacy_autosize_wrapper = self .page .locator (
34+ "ms-prompt-box ms-autosize-textarea"
3335 )
3436 submit_button_locator = self .page .locator (SUBMIT_BUTTON_SELECTOR )
3537
@@ -50,10 +52,19 @@ async def submit_prompt(
5052 """ ,
5153 prompt ,
5254 )
53- await autosize_wrapper_locator .evaluate (
54- '(element, text) => { element.setAttribute("data-value", text); }' ,
55- prompt ,
56- )
55+ autosize_target = autosize_wrapper_locator
56+ if await autosize_target .count () == 0 :
57+ autosize_target = legacy_autosize_wrapper
58+ if await autosize_target .count () > 0 :
59+ try :
60+ await autosize_target .first .evaluate (
61+ '(element, text) => { element.setAttribute("data-value", text); }' ,
62+ prompt ,
63+ )
64+ except Exception as autosize_err :
65+ self .logger .debug (
66+ f" autosize wrapper update skipped: { autosize_err } "
67+ )
5768 await self ._check_disconnect (check_client_disconnected , "After Input Fill" )
5869
5970 # 上传(仅使用菜单 + 隐藏 input 设置文件;处理可能的授权弹窗)
@@ -162,9 +173,8 @@ async def _open_upload_menu_and_choose_file(self, files_list: List[str]) -> bool
162173 except Exception :
163174 pass
164175
165- trigger = self .page .locator (
166- 'button[aria-label="Insert assets such as images, videos, files, or audio"]'
167- )
176+ trigger = self .page .locator (UPLOAD_BUTTON_SELECTOR ).first
177+ await expect_async (trigger ).to_be_visible (timeout = 3000 )
168178 await trigger .click ()
169179 menu_container = self .page .locator ("div.cdk-overlay-container" )
170180 # 等待菜单显示
@@ -373,9 +383,9 @@ async def _simulate_drag_drop_files(
373383
374384 candidates = [
375385 target_locator ,
376- self .page .locator ("ms-prompt-input-wrapper ms-autosize-textarea textarea" ),
377- self .page .locator ("ms-prompt-input-wrapper ms-autosize-textarea " ),
378- self .page .locator ("ms-prompt-input-wrapper " ),
386+ self .page .locator (PROMPT_TEXTAREA_SELECTOR ),
387+ self .page .locator ("ms-prompt-box .text-wrapper " ),
388+ self .page .locator ("ms-prompt-box " ),
379389 ]
380390
381391 last_err = None
0 commit comments