Ich habe die folgende Beispiel-HTML-Tabelle aus einer HTML-Datei.BeautifulSoup meine for-Schleife druckt alle Daten aus dem td-Tag. Ich möchte den letzten Abschnitt des td-Tags ausschließen
<table>
<tr>
<th>Class</th>
<th class="failed">Fail</th>
<th class="failed">Error</th>
<th>Skip</th>
<th>Success</th>
<th>Total</th>
</tr>
<tr>
<td>Regression_TestCase.RegressionProject_TestCase2.RegressionProject_TestCase2</td>
<td class="failed">1</td>
<td class="failed">9</td>
<td>0</td>
<td>219</td>
<td>229</td>
</tr>
<tr>
<td><strong>Total</strong></td>
<td class="failed">1</td>
<td class="failed">9</td>
<td>0</td>
<td>219</td>
<td>229</td>
</tr>
</table>
Ich versuche, den Text aus den <td>
Tags zu drucken, wo <td>
beginnt ab: Regression_TestCase.RegressionProject_TestCase2.RegressionProject_TestCase2
Ich will nicht den Text aus den <td>
Tags aufzunehmen, wo <td>
beginnt ab:
<td><strong>Total</strong></td>
Mein Code den Text aus jedem einzelnen <td>
Tag druckt:
def extract_data_from_report():
html_report = open(r"E:\SeleniumTestReport.html",'r').read()
soup = BeautifulSoup(html_report, "html.parser")
th = soup.find_all('th')
td = soup.find_all('td')
for item in th:
print item.text,
print "\n"
for item in td:
print item.text,
Meine gewünschte Ausgabe:
Class Fail Error Skip Success Total
Regression_TestCase 1 9 0 219 229
Das ist großartig. Vielen Dank. Wie kann ich den ganzen Text auf eine Zeile setzen? Die Nummern auf der nächsten neuen Zeile. Die Zahlen sollten unter jedem Text sein. Z.B. 9 sollte unter Fehler sein. 1 sollte unter Fail sein. –
@RiazLadhani okay, könnten Sie ein Beispiel gewünschte Ausgabe liefern? Vielen Dank. – alecxe
Bitte sehen Sie meine Frage. Ich habe die gewünschte Ausgabe am Ende meiner Frage geändert. Vielen Dank. –