jsonリクエストの値をチェックするためにセレンを使用していますが、エラーが発生しています。私がやっていることは、私がログインしていない限り、私は応答を得ることができないので、最初にログインしています。そして、ユーザーのためにjsonからバランスをとって、実際に働いていることを確認できるように印刷しようとしています。それは大きなノーブルのように見えます。KeyError:0 PythonでJSONデータを取得しようとしたとき
JSONは次のようになります。
{
"account": {
"balance": "28590",
"status": "0"
}
}
そしてここでは私のコードです:私はいずれかを持っていないよ
Traceback (most recent call last):
File "pointsCheck.py", line 31, in <module>
balance = json_data['account'][0]['balance']
KeyError: 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)
私にこのエラーメッセージを与えますログインに関する問題。私がバランスを取ろうとすると、それはすべてです。これが正しい方法であるかどうかはわかりません。私はどんな助けにも感謝します。
なぜ 'account'にはシーケンスが含まれていると思いますか? –
@ jn_data ['account'] ['balance'] '... – mgilson
@ IgnacioVazquez-Abrams私はチュートリアルを見て、私はそれが必要だと説明しましたが、誰もが最初は間違っています。 – drock