35 lines
No EOL
1.1 KiB
Python
35 lines
No EOL
1.1 KiB
Python
# pages/results_page.py
|
|
from selenium.webdriver.common.by import By
|
|
from pages.base_page import BasePage
|
|
|
|
|
|
class ResultsPage(BasePage):
|
|
"""Page Object für die Ergebnisseite"""
|
|
|
|
# Mapping von Excel-Feldnamen zu Locators
|
|
RESULT_MAPPING = {
|
|
"gesamtkosten": (By.ID, "result-total-cost"),
|
|
"zollgebuehr": (By.ID, "result-customs-fee"),
|
|
"transportkosten": (By.ID, "result-transport-cost"),
|
|
"mehrwertsteuer": (By.ID, "result-vat"),
|
|
# Weitere Ergebnisfelder...
|
|
}
|
|
|
|
def wait_for_results(self):
|
|
"""Wartet bis Ergebnisse geladen sind"""
|
|
self.wait_for_element(By.CSS_SELECTOR, ".results-container.loaded")
|
|
|
|
def read_results(self):
|
|
"""Liest alle Ergebniswerte aus"""
|
|
self.wait_for_results()
|
|
|
|
results = {}
|
|
for field_name, locator in self.RESULT_MAPPING.items():
|
|
try:
|
|
element = self.wait_for_element(*locator)
|
|
results[field_name] = element.text
|
|
except Exception as e:
|
|
print(f"Fehler beim Lesen von '{field_name}': {e}")
|
|
results[field_name] = None
|
|
|
|
return results |