[英]KeyError in python saying KeyError : 'value'
我正在尝试在Twitter登录页面中获取隐藏的元素。 我遵循了一个仅获取该页面中隐藏元素的过程。 但是问题是当我尝试获取这些元素的价值时,我遇到了关键错误。 代码是:
import requests, lxml.html
from bs4 import BeautifulSoup
s = requests.session()
login = s.get('https://twitter.com/login')
login_html = lxml.html.fromstring(login.text)
hidden_inputs = login_html.xpath(r'//form//input[@type="hidden"]')
form = {x.attrib["name"]: x.attrib["value"] for x in hidden_inputs}
print(form)
x.attrib ['value']出现错误。 如何纠正呢?
这是您将获得(一些)对象的示例:
<InputElement 1a62c5ef778 name='ui_metrics' type='hidden'>
没有“值”键。
如果打印此:
for x in hidden_inputs:
print(x.attrib)
然后,您将能够看到哪些标签具有值:
{'type': 'hidden', 'name': 'authenticity_token', 'value': '7fca6a14828cd425dad8437cc291687fc2ff1f96'}
因此,您必须显式检查确实具有值的值
此错误表明hidden_inputs的成员x不是包含键“值”的字典。 您应该打印出hidden_inputs以查看其元素,并确保它们是包含键“ value”的字典。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.