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

Python webscraping开发中If与Else条件判断不生效问题求助

问题原因

  • Python中print()函数的唯一作用是将内容输出到控制台,它本身没有返回值,执行后默认返回None。你将print(div.string)的执行结果赋值给result变量,此时result的实际值为None,永远不可能和字符串'Online'匹配,因此条件判断始终会进入else分支。

修正方案

将文本提取和打印操作拆分,先把div的文本内容赋值给变量,再执行打印操作,建议额外加上strip()方法清除文本首尾的空白字符,避免页面带的空格、换行符导致匹配失败:

import requests
from bs4 import BeautifulSoup

r= requests.get(urlpage, headers=headers)
soup = BeautifulSoup(r.text, 'html.parser')
div = soup.find('div', attrs={'class':'online'})

# 先提取文本并清除首尾空白
result = div.string.strip()
# 再打印查看内容
print(result)

if result == 'Online':
    print('Ok')
else:
    print('Next Time')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 20:45:07