abrufen von Daten aus html-code mit vbscript
Ich habe ein problem - ich habe eine URL: like (http:://exampl.com/example) und wenn ich diese Seite öffnen, im browser sehe ich eine Tabelle mit vertain Werte. Hier ist ein HTML-code:
<p>
<table>
<tr><td>RegistrationDTO.setUsername</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td>1</td>
</tr>
<tr><td>RegistrationDTO.getLastName</td>
<td>0</td>
<td>0</td>
<td>3</td>
<td>3</td>
</tr>
<tr><td>RegistrationDTO.getPersonalNumber</td>
<td>0</td>
<td>0</td>
<td>3</td>
<td>3</td>
</tr><tr>
<td>RegistrationDTO.getFirstName</td>
<td>16</td>
<td>16</td>
<td>3</td>
<td>3</td>
</tr>
<tr><td>RegistrationDTO.register</td>
<td>1068</td>
<td>1068</td>
<td>1</td>
<td>1</td>
</tr>
Ich brauche, um den Wert von RegistrationDTO.register = '1068' (das erste) aus dieser Tabelle.
Wie kann ich dies tun? Bitte um Hilfe!!
- in welcher Sprache ?
- ich muss ein vbscript zu implementieren diese
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es gibt zwei Möglichkeiten zum abrufen von Informationen aus HTML. Beide sind hier gezeigt:
Ausgabe:
Des RegExp-Ansatz offensichtlich setzt Voraus, dass Sie definieren können, ein Muster zur eindeutigen Identifizierung des gewünschten Teils. Der DOM-Ansatz funktioniert nicht mit fehlerhaften HTML-und vielleicht ungeschickt, wenn Sie haben, um auf den gewünschten Menüpunkt-position (wie in diesem Fall). Beide sind sinnvoll, um änderungen an der HTML.
P. S.
csFSpec ist (der vollständige Pfad) eine Datei mit dem angegebenen Beispiel-HTML verpackt in die erforderlichen tags, es legal zu machen. Für die Prüfung, können Sie die SaveAs-die Seite aus dem browser.
Wenn Sie csURL auf die richtige URL ein und aktivieren Sie die getURL () - Zeile in der useDom () - Funktion, müssen Sie nicht die Datei.
P. P. S.
Zur Bewältigung der etwas andere HTML-Emil gab in seinem (wahrscheinlich bald gelöscht werden) andere Frage, musste ich die RegExp-Muster aus:
zu:
Umgang mit whitespace-Zeichen (allgemeiner und daher besser, hätte es vom start)
und die drill-down von:
zu:
ein zusätzliches P und der geänderten Anzahl von Zeilen berücksichtigt.
Dies verdeutlicht die fragigility der beiden Strategien, die ich oben erwähnt. @Ansgar den Weg der Schleife über eine (hoffentlich) stabile Sammlung und das tun Vergleiche könnten hier helfen.
Probieren Sie etwas wie dieses:
Zur Fehlerbehebung, um zu überprüfen, was das Skript eigentlich sieht Sie, probieren Sie etwas wie dieses:
Untersuchen
C:\debug.html
wenn es tatsächlich enthält die Tabelle Elemente, in Frage stellen.ie.document.documentElement.outerHtml
stattie.document.body.innerHtml
? Was ist die Ausgabe vonWScript.Echo TypeName(ie.document)
?WScript.Echo TypeName(ie.document)
?http://www.google.com/
? Machen Sie den gleichen Fehler?fso.OpenTextFile("C:\debug.html", 2, True).Write ie.document.body.innerHtml
mitWScript.Echo ie.document.body.innerHtml
. Machen Sie den gleichen Fehler?