【问题标题】:How do I get a value with a hidden input type using python 3? [duplicate]如何使用 python 3 获取具有隐藏输入类型的值? [复制]
【发布时间】:2017-12-24 23:37:26
【问题描述】:

我正在尝试获取隐藏输入类型的值。即使它现在是空的,该值也是稍后生成的。运行代码时出现错误“TypeError: 'NoneType' object is not subscriptable”。

这是网站上的代码:

< input type="hidden" id="bb_device_id" name="bb_device_id" value="" >

我正在使用以下代码来尝试获取值:

deviceId = soup.find('input', {'id': 'bb_device_id'})['value']

【问题讨论】:

  • 什么是soup?我知道它可能是BeautifulSoup,但您没有发布足够的代码来确定。请参阅how to ask 并提供minimal, complete, and verifiable example
  • 是的对不起汤是美丽的汤
  • @BeauBridges 正如我之前提到的,您需要提供minimal, complete, and verifiable example。没有人可以帮助您处理您发布的一小部分代码。
  • 创建最小的工作示例,以便每个人都可以运行它并测试解决方案。您可以将 url 添加到页面。
  • 我用您的find() 尝试了您的 HTML 并且没有问题。您必须显示真实页面 - 可能存在不同的问题,即。 &lt;iframe&gt; 中的代码或 JavaScript 添加的元素。

标签: python python-3.x beautifulsoup


【解决方案1】:

"TypeError: 'NoneType' object is not subscriptable" 通常意味着您正在尝试索引到None。一般来说,如果您可以像使用列表一样索引对象,我们就说它是可下标的:l[1] 表示对象 l 的第二个元素。大多数对象是不可下标的; None 不是出于明显的原因。

无论如何,这意味着soup.find('input', {'id': 'bb_device_id'}) 正在返回None

我建议尝试soup.find(id='bb_device_id'}),看看它是否也返回None;如果是这样,您的文档可能有问题,即它不包含您认为它包含的内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-29
    • 1970-01-01
    • 1970-01-01
    • 2011-07-13
    • 2023-03-22
    相关资源
    最近更新 更多