Selenium Webdriver: Text aus strong innerhalb einer Klasse bekommen?
<div class="epiInfo 2" style="top: 632.667px; left: 538px; display: none;">
<strong title="Episode 2">Episode 2</strong>
Wie bekomme ich den Inhalt von diesem strong (oder auch der Titel würde reichen)?
Ob Python oder Java verwendet wird, ist egal. Es ist sowieso recht gleich aufgebaut.
1 Antwort
Vom Fragesteller als hilfreich ausgezeichnet
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Computer, HTML, programmieren
Das Problem in deinem Fall wird wohl darin liegen, dass das Container-Element nicht sichtbar und damit für Selenium nicht verfügbar ist. Du kannst dir die Daten aber mit JavaScript holen (siehe execute_script).
Text:
text = driver.execute_script("return document.querySelector('.epiInfo.\\32 > strong').innerText")
Attribut:
title = driver.execute_script("return document.querySelector('.epiInfo.\\32 > strong').getAttribute('title')")
In beiden Fällen wird nach dem ersten Vorkommen gesucht. Damit es keine JS-Probleme mit der Selektion von der Klasse 2 gibt, wird sie (auf Unicode-Basis) maskiert.