Есть лучший, более быстрый способ.Используйте xmlhttp и проанализируйте эту информацию из json, сохраненного в одном из тегов сценария.Если вы отправляете большое количество запросов, вам может потребоваться добавить ожидание для каждого x количества запросов в случае дросселирования / блокировки.Примечание. Вы можете использовать тот же подход с InternetExplorer и, таким образом, удалить многие строки кода, хотя у вас есть другая зависимость от библиотеки (.bas).
Вам необходимо установить jsonconverter.bas из здесь и зайдите в vbe> инструменты> ссылки> и добавьте ссылку на Microsoft Scripting Runtime
Option Explicit
Public Sub GetStocking()
Dim json As Object, html As HTMLDocument
Set html = New HTMLDocument
With CreateObject("MSXML2.XMLHTTP")
.Open "GET", "https://www.wavemotion.gr/shop/smartphone-accessories/easy-one-touch-wireless-fast-charging-mount", False
.send
html.body.innerHTML = StrConv(.responseBody, vbUnicode)
End With
Set json = JsonConverter.ParseJson(html.querySelector("script[type='application/ld+json']").innerHTML)
Debug.Print json("offers")("availability")
End Sub
Вот что содержит весь json:

Версия Internet Explorer:
Option Explicit
Public Sub GetInfo()
Dim ie As New InternetExplorer, i As Long, s As String, scripts As Object, json As Object
With ie
.Visible = False
.Navigate2 "https://www.wavemotion.gr/shop/smartphone-accessories/easy-one-touch-wireless-fast-charging-mount"
While .Busy Or .readyState < 4: DoEvents: Wend
Set scripts = .document.querySelectorAll("script[type='application/ld+json']")
For i = 0 To scripts.Length - 1
s = scripts.item(i).innerHTML
If InStr(s, "availability") > 0 Then
Set json = JsonConverter.ParseJson(s)
Exit For
End If
Next
.Quit
If Not json Is Nothing Then Debug.Print json("offers")("availability")
End With
End Sub