Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1716to1720
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datumsfeld von Homepage abfragen

Datumsfeld von Homepage abfragen
14.10.2019 14:27:52
Homepage
Hallo zusammen,
weiß jemand wie ich auf der Homepage www.price-robot.de das Datumsfeld mittels VBA abfragen kann? IEApp.document.getelementsbyclassname o.ö. hilft hier anscheinend nicht weiter, da die Klasse, ID etc. fehlt.
Schonmal vielen Dank an Euch!
Euer Rolf-Jan

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datumsfeld von Homepage abfragen
14.10.2019 17:19:51
Homepage
Sorry. Eine weitere Frage nach noch:
Ich kann in dem anderen Loginfeld dieses automatisch beschreiben. Das Anklicken klappt leider nicht.
Hoffe es sind nicht zuviele Fragen.
Send Keys möchte ich wegen Fehleranfälligkeit ungern verwenden. Lieber direkt anklicken.
Weiß hier jemand Rat?
Vielen Dank!
AW: Datumsfeld von Homepage abfragen
14.10.2019 17:46:12
Homepage
Hallo Rolf-Jan,
hier die Lösung zum Holen des Datums. Die Kommentare im Makro sollten alles erklären. Das Datum selbst ist im Quelltext im Format mm/dd/yyyy hinterlegt. Das kannst Du aber umformatieren wenn notwendig:

Sub DatumAuslesen()
Dim browser As Object
Dim url As String
Dim knotenDatum As Object
url = "www.price-robot.de"
'Internet Explorer initialisieren, Sichtbarkeit festlegen,
'URL aufrufen und warten bis Seite vollständig geladen wurde
Set browser = CreateObject("internetexplorer.application")
browser.Visible = False
browser.navigate url
Do Until browser.ReadyState = 4: DoEvents: Loop
'Wenn der betreffende Tag sich nicht direkt abgreifen lässt, den HTML-Quelltext um
'die gewünschte Stelle anschauen. In diesem Fall ist das Datum der einzige Text im
'umgebenden div-Tag, welches dann auch eine ID hat
'<div data-packed="true" style="top:;bottom:;lef..." class="txtNew" id="comp-k1m5ja5c">
'  <p class="font_8" style="font-size:15px;">
'    <span style="color:#ED1566;">
'      <span style="font-size:15px;">
'        <span style="font-family:helvetica-w01-light,helvetica-w02-light,sans-serif;">
'          10/14/2019
'        </span>
'      </span>
'    </span>
'  </p>
'</div>
'div-Tag holen
Set knotenDatum = browser.document.getElementByID("comp-k1m5ja5c")
'Datum rausholen
MsgBox Trim(knotenDatum.innertext)
'Aufräumen
browser.Quit
Set browser = Nothing
Set knotenDatum = Nothing
End Sub

Viele Grüße,
Zwenn
Anzeige
AW: etwas kürzer
14.10.2019 18:09:56
Fennek
Hallo,
in Powershell geht:

$url = 'www.price-robot.de '
$ret = iwr $url -DisableKeepAlive
$id = $ret.ParsedHtml.getElementById('comp-k1m5ja5c')
$id.textContent
Ergebnis: 10/14/2019
mfg
AW: Datumsfeld von Homepage abfragen
14.10.2019 18:11:38
Homepage
Hallo nochmal,
habe Dir das jetzt mal vollständig aufgeschrieben. Diesmal mit sichtbarem IE, der am Ende nicht geschlossen wird. So siehst Du was passiert. Das Datum schreibe ich jetzt einfach in eine Variable. Musst Du ja eh entscheiden, was Du damit anstellen willst:

Sub DatumAuslesen()
Dim browser As Object
Dim url As String
Dim knotenDatum As Object
Dim knotenLogInTextFeld As Object
Dim knotenLogInButton As Object
Dim datum As String
Dim logInMailAdresse As String
logInMailAdresse = "xxx" 'anpassen
url = "www.price-robot.de"
'Internet Explorer initialisieren, Sichtbarkeit festlegen,
'URL aufrufen und warten bis Seite vollständig geladen wurde
Set browser = CreateObject("internetexplorer.application")
browser.Visible = True 'auf sichtbar gestellt wegen LogIn
browser.navigate url
Do Until browser.ReadyState = 4: DoEvents: Loop
'Wenn der betreffende Tag sich nicht direkt abgreifen lässt, den HTML-Quelltext um
'die gewünschte Stelle anschauen. In diesem Fall ist das Datum der einzige Text im
'umgebenden div-Tag, welches dann auch eine ID hat
'<div data-packed="true" style="top:;bottom:;lef..." class="txtNew" id="comp-k1m5ja5c">
'  <p class="font_8" style="font-size:15px;">
'    <span style="color:#ED1566;">
'      <span style="font-size:15px;">
'        <span style="font-family:helvetica-w01-light,helvetica-w02-light,sans-serif;">
'          10/14/2019
'        </span>
'      </span>
'    </span>
'  </p>
'</div>
'div-Tag holen
Set knotenDatum = browser.document.getElementByID("comp-k1m5ja5c")
'Datum rausholen
datum = Trim(knotenDatum.innertext)
'mach irgendwas mit dem Datum
'LogInTextfeld holen
Set knotenLogInTextFeld = browser.document.getElementByID("comp-k1qhbgsbinput")
'LogInTextfeld Mailadresse eintragen
knotenLogInTextFeld.Value = logInMailAdresse
'LogInButton holen
Set knotenLogInButton = browser.document.getElementByID("comp-k1qhbgqflink")
'LogInButton anklicken
knotenLogInButton.Click
'  'Aufräumen
'  browser.Quit
'  Set browser = Nothing
'  Set knotenDatum = Nothing
End Sub

Viele Grüße,
Zwenn
Anzeige
AW: Datumsfeld von Homepage abfragen
15.10.2019 12:48:31
Homepage
Hallo Zwenn, hallo Fennek,
vielen Dank Euch beiden!
Ich glaube das Problem mit der Schaltfläche liegt woanders.
Ich kann diese automatisch beschreiben und nun auch klicken.
"With IEApp.document
Zelle.Select
.getelementsbyclassname("has-custom-focus style-k1qhbgskinput")(0).innertext = Worksheets("Tabelle5").Range("A1").Value
.getElementById("comp-k1qhbgqflink").Click
End With"
Beim Klicken nimmt er den automatisch erstellten Text nicht. Manuell gehts. Er scheint das Eingabefeld nur oberflächlich zu beschreiben. Sobald ich in das Feld klicke, geht dieser Text auch weg.
Habt ihr hier einen Rat? Muss die Schaltfläche vorher aktiv ausgewählt werden?
VG
Anzeige
AW: Datumsfeld von Homepage abfragen
15.10.2019 13:02:12
Homepage
Hallo Zwenn, hallo Fennek,
vielen Dank Euch beiden!
Ich glaube das Problem mit der Schaltfläche liegt woanders.
Ich kann diese automatisch beschreiben und nun auch klicken.
"With IEApp.document
Zelle.Select
.getelementsbyclassname("has-custom-focus style-k1qhbgskinput")(0).innertext = Worksheets("Tabelle5").Range("A1").Value
.getElementById("comp-k1qhbgqflink").Click
End With"
Beim Klicken nimmt er den automatisch erstellten Text nicht. Manuell gehts. Er scheint das Eingabefeld nur oberflächlich zu beschreiben. Sobald ich in das Feld klicke, geht dieser Text auch weg.
Habt ihr hier einen Rat? Muss die Schaltfläche vorher aktiv ausgewählt werden?
VG
Anzeige
AW: Datumsfeld von Homepage abfragen
15.10.2019 19:14:42
Homepage
Hallo Rolf-Jan,
das müsste ich mir nochmal tiefergehend ansehen. Im Moment bin ich allerdings mit anderen Dingen beschäftigt und komme erstmal nicht dazu. Vielleicht hat jemand anders schon eine Idee dazu. Fennek geht zwar auch gern alternative Wege (Powershell und so), hat aber (neben VBA auch damit) gute Ansätze für Problemlösungen.
Viele Grüße,
Zwenn

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige