You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Selenium识别按钮的正常/加载状态,判断加载是否完成?

Selenium判断Quillbot按钮加载完成的实现方法

核心判断依据

从给出的按钮HTML和交互规则可知,正常状态和加载状态的差异点为:

  • 加载状态:按钮下class="jss1425"的加载动画元素可见,按钮不可点击
  • 完成状态:加载动画元素opacity=0、visibility=hidden,按钮文本显示为Paraphrase且可点击

实现代码(Python)

使用Selenium显式等待实现,无需硬编码等待时间,稳定性更高:

方案1:监听加载动画元素状态

from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By

# 初始化最长等待时间,可根据网络情况调整
wait = WebDriverWait(driver, 30)

# 点击按钮后执行等待,直到加载动画元素不可见即为处理完成
wait.until(EC.invisibility_of_element_located((By.CSS_SELECTOR, "button.quillArticleBtn .jss1425")))

方案2:组合校验按钮状态(兼容性更强)

如果前端迭代导致类名变动,可以用按钮可点击状态+文本校验组合判断:

# 等待按钮恢复可点击状态
wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button[class*='quillArticleBtn']")))
# 校验按钮文本恢复为正常状态的Paraphrase
wait.until(EC.text_to_be_present_in_element((By.CSS_SELECTOR, "button.quillArticleBtn div[class*='jss1421']"), "Paraphrase"))

优化建议

定位元素优先使用quillArticleBtn这类业务专属类名,不要用MUI的通用框架类名,可大幅降低前端版本迭代导致的定位失效概率。

内容的提问来源于stack exchange,提问作者Sainita

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 03:06:05