Auslesen JSON Datenbank
Verfasst: Freitag 12. April 2024, 12:01
Hallo Zusammen,
ich habe ein kleines Problem wo ich einfach keine Lösung finde.
Ich versuche aus einer data.json meine Daten auszulesen. Jedoch bekomme ich einen KeyError. ich habe zuerst gedacht es gibt hier Rechtschreibfehler, aber ich sorgfältiger Überprüfung habe ich das auch ausgeschlossen. So schaut mein Code aus:
import json
with open('data.json') as f:
config = json.load(f)
images = config['images']['url_screenshot']
for key, url in images.items():
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--start-maximized")
driver = webdriver.Chrome(options=chrome_options)
driver.get(url)
sleep(4)
image_folder = os.path.expanduser(images["folders"][key])
screenshot1_path = make_screenshot(image_folder)
sleep(1)
driver.quit()
sleep(2)
if click_image(images["chrome"][0]):
time.sleep(1)
click_image(images["double_arrows"][0])
time.sleep(1)
try:
find_image(images["website"][key][0])
time.sleep(1)
click_image(images["website"][key][0])
except pyautogui.ImageNotFoundException:
try:
doubleclick_image(images["fullscreen"][0])
time.sleep(1)
click_image(images["website"][key][0])
time.sleep(1)
except pyautogui.ImageNotFoundException:
try:
click_image(images["website"][key][0])
except pyautogui.ImageNotFoundException:
time.sleep(1)
click_image(images["website"][key][0 +1])
Ich habe hier nur einen Abschnitt meines Codes ohne die Funktionen eingefügt. Meine eigentliche Frage hier ist, kann man hier auf die Variablen vom Json zugreifen wie in Javascript, mit denen man durch eine Schleife durch das json durch geht bei jedem neuen Durchgang? Was mache ich hier flalsch
hier meine passende Datenbank.
"images": {
"chrome": "scriptimages/chrome.png",
"double_arrow": "scriptimages/double-arrow.png",
"url_screenshot": {
"a1": "https://www.a1.de/",
"a2": "https://www.a2.de/",
"a3": "https://www.a3.de/",
"a4": "https://www.a4.de/",
"a5": "https://www.a5.de/",
"a6": "https://www.a6.de/",
"a7": "https://www.a7.de/",
"a8": "https://www.a8.de/",
"a9": "https://www.a9.de/",
"a10": "https://www.a10.de/",
"a11": "https://www.a11.de/",
"a12": "https://www.a12.de/",
"a13": "https://www.a13.de/",
"a14": "https://www.a14.de/"
}
} ab hier geht mein json noch weiter aber für die frage sollte der Abschnitt reichen . die a1 - a14 sind nur schematische Einträge.
Vielen Dank im Voraus.
ich habe ein kleines Problem wo ich einfach keine Lösung finde.
Ich versuche aus einer data.json meine Daten auszulesen. Jedoch bekomme ich einen KeyError. ich habe zuerst gedacht es gibt hier Rechtschreibfehler, aber ich sorgfältiger Überprüfung habe ich das auch ausgeschlossen. So schaut mein Code aus:
import json
with open('data.json') as f:
config = json.load(f)
images = config['images']['url_screenshot']
for key, url in images.items():
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--start-maximized")
driver = webdriver.Chrome(options=chrome_options)
driver.get(url)
sleep(4)
image_folder = os.path.expanduser(images["folders"][key])
screenshot1_path = make_screenshot(image_folder)
sleep(1)
driver.quit()
sleep(2)
if click_image(images["chrome"][0]):
time.sleep(1)
click_image(images["double_arrows"][0])
time.sleep(1)
try:
find_image(images["website"][key][0])
time.sleep(1)
click_image(images["website"][key][0])
except pyautogui.ImageNotFoundException:
try:
doubleclick_image(images["fullscreen"][0])
time.sleep(1)
click_image(images["website"][key][0])
time.sleep(1)
except pyautogui.ImageNotFoundException:
try:
click_image(images["website"][key][0])
except pyautogui.ImageNotFoundException:
time.sleep(1)
click_image(images["website"][key][0 +1])
Ich habe hier nur einen Abschnitt meines Codes ohne die Funktionen eingefügt. Meine eigentliche Frage hier ist, kann man hier auf die Variablen vom Json zugreifen wie in Javascript, mit denen man durch eine Schleife durch das json durch geht bei jedem neuen Durchgang? Was mache ich hier flalsch
hier meine passende Datenbank.
"images": {
"chrome": "scriptimages/chrome.png",
"double_arrow": "scriptimages/double-arrow.png",
"url_screenshot": {
"a1": "https://www.a1.de/",
"a2": "https://www.a2.de/",
"a3": "https://www.a3.de/",
"a4": "https://www.a4.de/",
"a5": "https://www.a5.de/",
"a6": "https://www.a6.de/",
"a7": "https://www.a7.de/",
"a8": "https://www.a8.de/",
"a9": "https://www.a9.de/",
"a10": "https://www.a10.de/",
"a11": "https://www.a11.de/",
"a12": "https://www.a12.de/",
"a13": "https://www.a13.de/",
"a14": "https://www.a14.de/"
}
} ab hier geht mein json noch weiter aber für die frage sollte der Abschnitt reichen . die a1 - a14 sind nur schematische Einträge.
Vielen Dank im Voraus.