discord.py 'NoneType' 对象没有属性 'find'

Posted

技术标签:

【中文标题】discord.py \'NoneType\' 对象没有属性 \'find\'【英文标题】:discord.py 'NoneType' object has no attribute 'find'discord.py 'NoneType' 对象没有属性 'find' 【发布时间】:2021-01-05 05:00:51 【问题描述】:
@client.command()
async def csgonow(ctx):
    url = "https://steamdb.info/app/730/graphs/" 
    async with aiohttp.ClientSession() as session:
        async with session.get(url) as response:
            soupObject = BeautifulSoup(await response.text(), "html.parser")
            online = soupObject.find(class_='home-stats').find('li').find('strong').get_text()
            await ctx.send(online + ' players are playing this game at the moment')

当我使用命令!R csgonow 时出现此错误:

 discord.ext.commands.errors.CommandInvokeError: Command raised an exception:
  AttributeError: 'NoneType' object has no attribute 'find'

我该如何解决这个问题?

【问题讨论】:

对我来说看起来不错,但如果您添加一些调试消息以查看发生了什么会更容易。例如。将await response.text() 保存在变量中并打印出来。它还有助于删除不必要的代码。例如。不和谐,因为您的问题似乎与不和谐无关。 【参考方案1】:

您可以使用 CSS 选择器:

@client.command()
async def csgonow(ctx):
    url = "https://steamdb.info/app/730/graphs/"
    async with aiohttp.ClientSession() as session:
        async with session.get(url) as response:
            soupObject = BeautifulSoup(await response.text(), "html.parser")
            online = soupObject.select_one('.app-chart-numbers-big > li:nth-child(2) > strong:nth-child(1)').text
            await ctx.send(f' online players are playing this game at the moment')

【讨论】:

以上是关于discord.py 'NoneType' 对象没有属性 'find'的主要内容,如果未能解决你的问题,请参考以下文章

当我尝试将 user_id 转换为 discord.py 上的成员用户名时,我不断收到 NoneType

client.get_user() 在 discord.py 中不起作用

如何在 discord.py 中创建 discord.Permissions 对象?

discord.py 你能从 discord 标签中获取用户对象吗?

discord.py 'Bot' 对象没有属性 'send_message'

discord.py 只发送“对象”而不是实际信息