Q:

How do you get the next element on the webpage in vba

I'm trying to build a VBA macro to pull in lots of data from the http://stt.wiki website.  Specifically, I'm starting on the page https://stt.wiki/wiki/Galaxy_Event and I want to drop down to the section that starts with "Galaxy Events" and pull each and every item out of the list below it.
So, I've got the following:
Dim IE As New InternetExplorer
IE.Visible = True
IE.navigate "https://stt.wiki/wiki/Galaxy_Event"
Do
    DoEvents
Loop Until IE.readyState = READYSTATE_COMPLETE
Dim Doc As HTMLDocument
Set Doc = IE.document
Dim sH2 As String

I know I can do 
    sH2 = Trim(Doc.getElementsByClassName("mw-headline")(0).innerText)
to see the element that equates to "Galaxy Events", but I'm not finding a way to then get the next element, since it's not an element that shares any attribute in common with Galaxy Events.  I hesitate to target it by LI (Doc.getElementsByTagName("li")(9)) because the website could change and break everything I'm doing (although I suppose I could loop through LI items until I find one without a class)
Anyway, how would I go about just dropping down to the next element when it's a different type in every respect (and I tried FirstChild.  That returned an error.)

A:

Web-scraping is fragile in nature. APIs are the best way to go about receiving content.
In the absence of an API I would gather a list of the links in that section and loop if looking for specific title
Option Explicit
'VBE > Tools > References:
' Microsoft Internet Controls
Public Sub GetData()
    Dim ie As New InternetExplorer, i As Long
    With ie
        .Visible = True
        .Navigate2 "https://stt.wiki/wiki/Galaxy_Event"
        While .Busy Or .readyState < 4: DoEvents: Wend

        Dim galaxyEvents As Object
        Set galaxyEvents = .document.querySelectorAll("ol li > a[title]")
        For i = 0 To galaxyEvents.Length - 1
            Debug.Print galaxyEvents.item(i).Title
            'Or any comparison required here then Exit For if found
        Next
        .Quit
    End With
End Sub

Looks like you can attempt to use the API that exists though I have had to hack my way through related wiki API syntax. Requires jsonconverter.bas adding to project then VBE > Tools > References > Add reference to Microsoft Scripting Runtime.
Option Explicit
Public Sub GetInfo()
    Dim json As Object, dict As Object, link As String
    Const BASE_URL As String = "https://stt.wiki/wiki/"

    With CreateObject("MSXML2.XMLHTTP")
        .Open "GET", "https://stt.wiki/w/api.php?action=parse&format=json&page=Galaxy_Event&section=1", False
        .send
        Set json = JsonConverter.ParseJson(.responseText)("parse")("links") '<==Will include references links
        For Each dict In json
            link = dict("*")
            Debug.Print link
            Debug.Print BASE_URL & Replace$(link, Chr$(32), Chr$(95))
        Next
    End With
End Sub

For the API I found this within the html for the url you gave. I then skimmed through the related documentation here.

