Ich muss Daten Validierung von zwei Tabellen mit Selen durchführen.Wie kann ich HTML-Tabellendaten in ein zweidimensionales Array "deserialisieren"?
eine richtig markiert-up HTML-Tabelle mit Daten gefüllt Gegeben:
<table>
<tbody>
<tr>
<td>A</td>
<td>B</td>
<td>C</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
</tbody>
</table>
Und ich will „deserialisieren“ diese Tabelle (seine Daten sammeln) in einen zweidimensionalen Array (String[][]
) unter Verwendung von Selen. Der Grund dafür ist, dass ich eine andere HTML-Tabelle (auf der anderen Webseite) habe, die angeblich die gleichen Daten enthält - und ich muss Datenvalidierung zwischen diesen beiden Tabellen durchführen.
Ich habe versucht, viele Möglichkeiten, wie dieses Problem zu lösen, und iterative Zelle-für-Zelle Datenerfassung (Fest Zellen, die entweder mit der getTable() oder getText() Methoden) ist nicht einer von ihnen - Da es sehr viel Zeit kostet, einen großen Tisch auf einer überlasteten Webseite fertig zu stellen.
JavaScript Injektion (unter Verwendung der getEval()-Methode) in meinem Fall nicht zur Verfügung, da die Tabelle in einem < iframe befindet >, die einen Ursprung (Basis-URL) hat, die von dem einen der Haupt Seite unterscheidet . Und nach same origin policy kann dies nicht durchgeführt werden.
Jungs, irgendeine Idee, wie man das gegebene Problem löst?
Bedeuten Sie, dass Sie die Methode ** 'getHtmlSource' ** verwenden? Gibt es Selenium-Alternativen, um nur einen Teil von HTML anstelle des Ganzen zu bekommen? –
Entweder mit getHtmlSource/getBodySource und dann nach dem Element oder element.getAttribute ("innerHTML") – Andrejs
Ist nicht 'innerHTML' ** eine andere Objekteigenschaft als ein Attribut? –