Thema Datum  Von Nutzer Rating
Antwort
27.05.2020 18:40:06 T
NotSolved
27.05.2020 18:55:01 Gast7155
NotSolved
27.05.2020 19:00:43 T
NotSolved
27.05.2020 19:05:56 Gast88570
NotSolved
27.05.2020 19:17:27 Gast2666
NotSolved
27.05.2020 20:02:55 T.
NotSolved
27.05.2020 22:29:51 Gast2666
NotSolved
Blau Prinzipiell geht das so
27.05.2020 22:52:03 Zwenn
*****
NotSolved
28.05.2020 07:17:40 T.
NotSolved
28.05.2020 07:35:21 T.
NotSolved
28.05.2020 10:35:43 Zwenn
NotSolved
28.05.2020 10:55:16 T.
NotSolved
28.05.2020 23:48:23 Zwenn
*****
NotSolved
29.05.2020 12:02:29 T.
NotSolved
03.06.2020 11:04:07 T.
NotSolved
03.06.2020 18:40:47 T.
NotSolved
04.06.2020 10:15:34 Gast60463
NotSolved
04.06.2020 10:17:24 Gast97475
NotSolved
04.06.2020 10:19:15 Gast27513
NotSolved
04.06.2020 10:21:06 Zwenn
NotSolved

Ansicht des Beitrags:
Von:
Zwenn
Datum:
27.05.2020 22:52:03
Views:
833
Rating: Antwort:
  Ja
Thema:
Prinzipiell geht das so

Hallo T,

das geht mit unten stehendem Makro. Um "weiterzublättern", wenn es mehr als 100 Suchtreffer gibt war ich jetzt allerdings zu faul. DU kannst alles über die URL-Parameter einstellen. Bei der Automatisierung muss man meistens nicht vorgehen, wie ein Mensch. Also Suchfeld füllen und abschicken und den ganzen Blub kannst Du Dir sparen.

Sub StepStoneJobsAuslesen()

'***********************************************************************
'Das Makro schreibt ab Zeile 2 in die Tabelle, aus der es gestartet wird
'***********************************************************************

'Es sind nur 2 Parameter notwendig:
'Die Reihenfolge von URL-Parametern ist egal
'Deshalb nimmt man die Konstanten nach vorne
'Der erste URL-Parameter/ die Parameterliste wird mit dem Fragezeichen eingeleitet (?)
'Jeder weitere Parameter wird mit dem Kaufmanns-Und abgetrennt (&)
'li=100 [Setzt die Anzahl der Suchtreffer pro Seite auf 100. Mehr geht nicht]
'ke=    [Hinter dem Parameternamen ke kommt der Suchterm. Der ist dynamisch]
Const baseUrl As String = "https://www.stepstone.de/5/ergebnisliste.html?li=100&ke="

Dim browser As Object
Dim url As String
Dim urlSearchTerm As String
Dim nodeJobOfferContainer As Object
Dim nodeAllJobOffers As Object
Dim nodeOneJobOffer As Object

Dim currentRow As Long
Dim jobOfferTitle As String
Dim jobOfferUrl As String
Dim nextPossible As Boolean
  
  'Wir lassen in diesem Beispiel stumpf ab Zeile 2 schreiben
  currentRow = 2
  
  'Dynamisierung für mehrere Suchbegriffe gehört in eine Schleife
  'Die lasse ich hier weg, weil die nur im Zusammenhang mit mehreren
  'Suchbegriffen in einer Tabelle Sinn macht
  'Deshalb wird hier mit dem folgenden statischen Suchbegriff gearbeitet
  'Leerzeichen werden durch ein + ersetzt
  'Sonderzeichenersetzung insgesamt kann automatisiert werden
  urlSearchTerm = "abb+ag"
  
  'Es ergibt sich die ganze URL
  url = baseUrl & urlSearchTerm
  
  'Internet Explorer initialisieren, Sichtbarkeit festlegen,
  'URL aufrufen und warten bis Seite vollständig geladen wurde
  Set browser = CreateObject("internetexplorer.application")
  browser.Visible = True
  browser.navigate url
  Do Until browser.readyState = 4: DoEvents: Loop
  
  'Den Container mit den Jobangeboten separieren
  Set nodeJobOfferContainer = browser.document.getElementsByClassName("gvBCse")(0)
  
  'Alle Jobangebote in eine NodeList schreiben
  Set nodeAllJobOffers = nodeJobOfferContainer.getElementsByClassName("fKQtCB")
  
  'Alle Jobangebote durchgehen und in die aktive Tabelle schreiben
  For Each nodeOneJobOffer In nodeAllJobOffers
    'Titel des Jobangebots auslesen und in Tabelle schreiben
    jobOfferTitle = Trim(nodeOneJobOffer.getElementsByClassName("iHAUBO")(0).innertext)
    ActiveSheet.Cells(currentRow, 1).Value = jobOfferTitle
    
    'URL des Jobangebots auslesen und als Link in die Tabelle schreiben
    jobOfferUrl = nodeOneJobOffer.getElementsByClassName("gzNLsV")(0).href
    ActiveSheet.Hyperlinks.Add Anchor:=ActiveSheet.Cells(currentRow, 2), Address:=jobOfferUrl, TextToDisplay:=jobOfferUrl
    
    'Nächste Zeile vorbereiten
    currentRow = currentRow + 1
  Next nodeOneJobOffer
End Sub

Viele Grüße,

Zwenn


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
27.05.2020 18:40:06 T
NotSolved
27.05.2020 18:55:01 Gast7155
NotSolved
27.05.2020 19:00:43 T
NotSolved
27.05.2020 19:05:56 Gast88570
NotSolved
27.05.2020 19:17:27 Gast2666
NotSolved
27.05.2020 20:02:55 T.
NotSolved
27.05.2020 22:29:51 Gast2666
NotSolved
Blau Prinzipiell geht das so
27.05.2020 22:52:03 Zwenn
*****
NotSolved
28.05.2020 07:17:40 T.
NotSolved
28.05.2020 07:35:21 T.
NotSolved
28.05.2020 10:35:43 Zwenn
NotSolved
28.05.2020 10:55:16 T.
NotSolved
28.05.2020 23:48:23 Zwenn
*****
NotSolved
29.05.2020 12:02:29 T.
NotSolved
03.06.2020 11:04:07 T.
NotSolved
03.06.2020 18:40:47 T.
NotSolved
04.06.2020 10:15:34 Gast60463
NotSolved
04.06.2020 10:17:24 Gast97475
NotSolved
04.06.2020 10:19:15 Gast27513
NotSolved
04.06.2020 10:21:06 Zwenn
NotSolved