I figured it out. I ended up using a different method than trying to find ::before and ::after.
Notes:
I observed how the HTML document changed as the search went on and noticed that the parent of the HTML snippet I included above changed when the application entered or exited a loading state.
<div id="snippetParent" class="overlay" style="width: 100%; height: 100%; top: 0px; left: 0px; position: absolute; display: block;">
<div id="abc" class="outer">
<div class="inner"></div>
</div>
</div>
The "Style" attribute's "display" property changed to "display: block" while loading, and changed to "display: none" when it was not loading.
There was also a popup that appeared if the application was taking too long to load (popup ID is "popup" for the purpose of this question). This popup makes the style mentioned above go from block to none. I had to include in the while loop below a condition for when the popup appears.
The "good" boolean is false until any indicators of loading disappear. Then it becomes true and consequently exits the while loop.
Here is my code:
Do While good = False
For Each tx In Split(Document.getElementById("snippetParent").Style.cssText, "; ")
If tx = "display: block" Then
good = False
UpdateBrowser BB:=Browser, waitSeconds:="02"
ElseIf tx = "display: none" Then
txtDocument = ""
On Error Resume Next
txtDocument = Document.getElementById("popup").innerHTML
If txtDocument = "<b>Retrieving Data...</b>" Then
Beep
UpdateBrowser BB:=Browser, waitSeconds:="02"
Else
good = True
End If
Else
'Not display
End If
Next tx
Loop