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

如何使用Expected Condition从网站获取文本?

解答

element_to_be_clickable 用法说明

这个Expected Condition用于等待元素处于可点击状态(元素存在于DOM中、可见且未被禁用),既可以避免因元素未加载完成导致的点击失败,也能在确认元素可交互后安全获取其文本。

示例代码

以下是结合该方法实现获取文本的完整示例:

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

# 初始化等待对象,设置最长等待时间10秒
wait = WebDriverWait(self.driver, 10)

# 等待目标元素可点击
target_element = wait.until(EC.element_to_be_clickable(
    (By.XPATH, "/html/body/div/div[2]/div/div[2]/div/div[3]/div/div/div[1]/div/div/div/h6")
))

# 获取元素文本并打印
element_text = target_element.text
print(element_text)

补充提示

如果目标元素无需点击,仅需获取文本,可根据场景选择更贴合的Expected Condition:

  • visibility_of_element_located:等待元素可见(存在且显示在页面上),适合需要确保文本已渲染完成的场景
  • presence_of_element_located:仅等待元素存在于DOM中,无需可见,适合元素加载后立即有文本的场景

visibility_of_element_located的示例代码:

target_element = wait.until(EC.visibility_of_element_located(
    (By.XPATH, "你的元素定位路径")
))
print(target_element.text)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 20:01:06