Я пробовал много комбинаций, чтобы получить дарту из этого URL-адреса, вот только одна пример
Код: Выделить всё
# games_elements = driver.find_elements(By.XPATH, '//*[@id="cdk-accordion-child-3"]/div/div/games-list-partial/div')
games_elements = driver.find_elements(By.XPATH,'//*[@id="cdk-accordion-child-3"]/div/div/games-list-partial/div/games-list-game[1]')
print('games_elements: ', games_elements)
for game in games_elements:
try:
# Mannschaftsnamen extrahieren
teams = game.find_elements(By.XPATH, './/*[@id="cdk-accordion-child-3"]/div/div/games-list-partial/div/games-list-game[1]/div/div[1]/div/game-details-summary/div/div/div/div[1]')
# Quoten extrahieren
odds = game.find_elements(By.XPATH, './/*[@id="cdk-accordion-child-3"]/div/div/games-list-partial/div/games-list-game[1]/div/div[2]/div[1]/market/div/div[2]/div/tip[1]/div/button/span[2]/div/tip-odds/div/div')
if len(teams) == 2 and len(odds) >= 3:
home_team = teams[0].text
away_team = teams[1].text
home_odds = odds[0].text
draw_odds = odds[1].text
away_odds = odds[2].text
games_data.append({
"Home Team": home_team,
"Away Team": away_team,
"Home Odds": home_odds,
"Draw Odds": draw_odds,
"Away Odds": away_odds,
"Zeitstempel": timestamp # Zeitstempel
})
else:
logging.warning("Unerwartete Anzahl von Teams oder Quoten für ein Spiel gefunden.")
except NoSuchElementException as e:
logging.error(f"Fehler beim Extrahieren der Daten für ein Spiel: {e}")
Код: Выделить всё
# Alternativ: Versuche eine längere Wartezeit mit Sichtbarkeitsprüfung
wait = WebDriverWait(driver, 30)
try:
# Greife auf ein sichtbares 'team-name'-Element zu
team_name_element = wait.until(
EC.visibility_of_element_located((By.CLASS_NAME, "team-name"))
)
print(team_name_element.text)
except Exception as e:
print(f"Fehler: {e}")
finally:
# Speichere die Seite, um den Inhalt zu überprüfen
page_source = driver.page_source
with open('page_source.html', 'w', encoding='utf-8') as f:
f.write(page_source)
print("HTML-Inhalt gespeichert.")
Код: Выделить всё
def scroll(driver):
height = driver.execute_script("return document.body.scrollHeight")
print('height: ', height)
while True:
driver.execute_script("window.scrollTo(0, document.body.scrollHeight)")
time.sleep(1) #
Подробнее здесь: [url]https://stackoverflow.com/questions/79157325/how-to-scrap-data-like-matches-and-bets-from-an-url-with-selenium-and-python[/url]