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

如何打印Selenium返回的元素内容?解决WebElement对象输出问题

解决Selenium打印元素显示WebElement对象而非实际内容的问题

你遇到的问题是因为find_element()和find_elements()方法返回的是WebElement对象实例,直接打印会输出对象的会话和元素ID信息,而非元素的实际内容。要获取内容,需要使用WebElement的相关属性或方法:

1. 获取元素的文本内容

使用.text属性可以获取元素的可见文本:

  • 针对单个元素:
day1 = s.find_element(By.XPATH, '//*[@id="exp-0-header"]/tr[2]/td[1]/span')
print(day1.text)  # 打印day1元素的文本内容
  • 针对find_elements()返回的元素列表,需要循环遍历每个元素:
elements = s.find_elements(By.CLASS_NAME, 'strike-row')
for elem in elements:
    print(elem.text)  # 逐个打印每个元素的文本

2. 获取元素的属性值

如果目标内容不在文本里(比如输入框的value、链接的href、图片的src等),使用.get_attribute("属性名")方法:

# 示例:获取链接的href属性值
link_elem = s.find_element(By.TAG_NAME, 'a')
print(link_elem.get_attribute("href"))

# 示例:获取输入框的内容
input_elem = s.find_element(By.TAG_NAME, 'input')
print(input_elem.get_attribute("value"))

3. 特殊情况:获取隐藏元素的内容

如果.text无法获取到内容(比如元素是隐藏状态),可以尝试使用.get_attribute("innerText")或.get_attribute("textContent"),这两个属性对应JavaScript中的文本获取方式:

hidden_elem = s.find_element(By.XPATH, '//*[@class="hidden-text"]')
print(hidden_elem.get_attribute("textContent"))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 23:33:22