等待消失(阻塞式 vanish 等待)
wait_for_image / wait_for_text 會阻塞直到某物*出現*,``observer`` 則以非同步回呼在消失時觸發——但先前
沒有針對影像或文字的*阻塞式*「等到這個轉圈圈 / toast / 對話框**消失**再繼續」呼叫。wait_until_window_closed
只涵蓋視窗。本功能為 smart_waits 家族補上缺少的 vanish 等待。
通用的 wait_until_gone() 接受任意述詞,因此其迴圈可在無真實螢幕下做無頭測試;影像 / 文字輔助函式則
從定位函式建立該述詞。不匯入 PySide6。
無頭 API
from je_auto_control import (
wait_until_gone, wait_until_image_gone, wait_until_text_gone,
)
# 通用:等到任意述詞變為 falsey
wait_until_gone(lambda: spinner_is_visible(), timeout_s=15)
wait_until_image_gone("spinner.png", timeout_s=15) # 影像離開螢幕
wait_until_text_gone("Loading...", timeout_s=15) # OCR 文字消失
每個皆回傳 WaitOutcome``(``succeeded / reason / elapsed_s / samples_taken)——與其他 smart
waits 相同的結果型別。gone_for_s 要求目標需持續缺席該段時間才算成功(可消抖閃爍的元素);
poll_interval_s / timeout_s 界定迴圈。
執行器命令
AC_wait_image_gone 與 AC_wait_text_gone 接受目標以及 timeout_s / poll_interval_s /
gone_for_s``(影像另含 ``detect_threshold),並回傳 WaitOutcome dict。兩者皆以 MCP 工具
(ac_wait_image_gone / ac_wait_text_gone)以及 Script Builder 中 Flow 分類下的命令提供。