KeyError:在Python中尝试获取JSON数据时为0

KeyError:在Python中尝试获取JSON数据时为0,python,json,selenium,Python,Json,Selenium,我正在使用selenium检查json请求中的一个值,结果发现一个错误。我正在做的是首先登录,因为除非我登录,否则无法获得响应。然后,我试图从json中为用户获取一个平衡点,并将其打印出来,这样我就可以看到它确实起了作用。这看起来像是一个很大的否定 json如下所示: { "account": { "balance": "28590", "status": "0" } } 这是我的代码: from selenium import webdriver import o

我正在使用selenium检查json请求中的一个值,结果发现一个错误。我正在做的是首先登录,因为除非我登录,否则无法获得响应。然后,我试图从json中为用户获取一个平衡点,并将其打印出来,这样我就可以看到它确实起了作用。这看起来像是一个很大的否定

json如下所示:

{
  "account": {
     "balance": "28590",
     "status": "0"
  }
}
这是我的代码:

from selenium import webdriver
import openpyxl
import json
import requests

driver = webdriver.Firefox(executable_path= r"geckodriver path")
baseURL = 'url'

#Get username/password from excel sheet
workbook = openpyxl.load_workbook(r"xlsx")
sheet = workbook.get_sheet_by_name('Sheet1')
username = str(sheet['A1'].value)
password = str(sheet['B1'].value)

#Open browser
driver.get(baseURL)
driver.maximize_window()

#Login
driver.find_element_by_xpath('xpath').click()
driver.implicitly_wait(500)
driver.find_element_by_id('email').send_keys(username)
driver.find_element_by_id('password').send_keys(password)
driver.find_element_by_id('login').click()

#Check balance
balance_api = 'balance/json'
json_data = requests.get(balance_api).json()
balance = json_data['account'][0]['balance']
print(balance)
这给了我这个错误信息:

Traceback (most recent call last):
File "pointsCheck.py", line 31, in <module>
balance = json_data['account'][0]['balance']
KeyError: 0
回溯(最近一次呼叫最后一次):
文件“pointsCheck.py”,第31行,在
balance=json_数据['account'][0]['balance']
关键错误:0

我的登录没有任何问题。这一切都是在我试图取得平衡时发生的。我不确定这是否是正确的方法。谢谢你的帮助

您应该使用
json_数据['account']['balance']


它不是一个需要0索引的数组。

您应该使用
json\u数据['account']['balance']


它不是一个需要0索引的数组。

为什么你认为
account
包含一个序列?看起来它应该是
json_数据['account']['balance']
…@IgnacioVazquez Abrams我看了一个教程,他们解释说我需要它,但我看到每个人都说这是第一件错误的事情。你为什么认为
帐户
包含一个序列?看起来应该是
json_数据['account']['balance']
…@IgnacioVazquez Abrams我看了一个教程,他们解释说我需要它,但我看到每个人都说这是第一件错误的事情。我删除了[0],但现在它说的是KeyError:“balance”你能看到json_数据['account']的输出是什么吗,然后发布到这里吗?当我这样做时,我得到了json,但当您注销并尝试访问它时,会显示错误。所以我不确定我是否没有等待足够长的时间来访问它,或者?我删除了[0],但现在它说的是KeyError:“balance”你能看到json_数据['account']的输出是什么吗,然后发布到这里吗?当我这样做时,我会得到json,但当你注销并尝试访问它时会显示错误。所以我不确定我是否没有等待足够长的时间来访问它?