Windows machine:
As someone has mentioned there is a POST request made that returns JSON you can parse. The dictionary returned has a weird layout so you will need to invest time looking into that. I use a json parser (jsonconverter.bas) which after adding to your project you also need to go to VBE > Tools > References > Add a reference to Microsoft Scripting Runtime.
Option Explicit
Public Sub GetInfo()
Dim sResponse As String, json As Object
With CreateObject("MSXML2.XMLHTTP")
.Open "POST ", "https://mwatch.boursakuwait.com.kw/default.aspx/getData", False
.setRequestHeader "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"
.setRequestHeader "Content-Type", "application/json; charset=utf-8"
.send
sResponse = .responseText
End With
Set json = JsonConverter.ParseJson(sResponse) 'dictionary
'handle code
Stop
End Sub
If you print JSON("d") you get a string which makes clear items:
Example:

If you want to use a timed loop with Internet Explorer there is an example below:
Option Explicit
Public Sub GetInfo()
Dim ie As New InternetExplorer, t As Date, table As Object, clipboard As Object, ws As Worksheet
Const MAX_WAIT_SEC As Long = 20
Set ws = ThisWorkbook.Worksheets("Sheet1")
With ie
.Visible = True
.Navigate2 "https://mwatch.boursakuwait.com.kw/default.aspx/AllShares"
While .Busy Or .readyState < 4: DoEvents: Wend
t = Timer
Do
DoEvents
On Error Resume Next
Set table = ie.document.querySelector("#tblMarketData")
On Error GoTo 0
If Timer - t > MAX_WAIT_SEC Then Exit Do
Loop While InStr(.document.body.innerHTML, "No data available in table") > 0
If Not table Is Nothing Then
Set clipboard = GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
clipboard.SetText table.outerHTML
clipboard.PutInClipboard
ws.Cells(1, 1).PasteSpecial
End If
.Quit
End With
End Sub
Mac:
I would switch languages. For example to python. I am happy to add a script for that if desired.