Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用vba从网页内的表格值中正确提取内部文本?_Javascript_Html_Excel_Vba - Fatal编程技术网

Javascript 如何使用vba从网页内的表格值中正确提取内部文本?

Javascript 如何使用vba从网页内的表格值中正确提取内部文本?,javascript,html,excel,vba,Javascript,Html,Excel,Vba,不幸的是,我的旧帐户在更换网站主机时被删除了。我在整个网站上寻找解决方案,但只发现有人处理整个表,而不仅仅是试图获得一个值。我从以下网页获取innerText的净资产时遇到问题: 以下是我的尝试: Sub FetchAssets() Dim HTML As New HTMLDocument, elem As Object, URL As String URL = https://finance.yahoo.com/quote/UMBWX?p=UMBWX With Create

不幸的是,我的旧帐户在更换网站主机时被删除了。我在整个网站上寻找解决方案,但只发现有人处理整个表,而不仅仅是试图获得一个值。我从以下网页获取innerText的净资产时遇到问题:

以下是我的尝试:

Sub FetchAssets()
Dim HTML As New HTMLDocument, elem As Object, URL As String

    URL = https://finance.yahoo.com/quote/UMBWX?p=UMBWX
    With CreateObject("MSXML2.XMLHTTP")

            .Open "GET", URL, False
            Application.Wait Now + 1 / (24 * 60 * 60# * 2)
            .send
            Application.Wait Now + 1 / (24 * 60 * 60# * 2)
            HTML.body.innerHTML = .responseText
            
            Set elem = HTML.querySelector("NET_ASSETS-value")
            MsgBox elem.innerText
    End With
End Sub
此尝试导致:
运行时错误“91”:未设置对象变量或With block变量

我尝试了完全相同的代码,并将
elem.innerText
elem.innerHTML
交换,结果是相同的错误。错误发生在MsgBox代码行上,它将元素设置为罚款

由于我的声誉低于10,我无法嵌入图像,但以下是网页中的代码行:

<td class="Ta(end) Fw(600) Lh(14px)" data-test="NET_ASSETS-value" data-reactid="89"><span class="Trsdu(0.3s) " data-reactid="90">539.25M</span></td>
539.25M
试试这个

Sub FetchAssets()
    Dim html As New HTMLDocument, elem As Object, sURL As String
    sURL = "https://finance.yahoo.com/quote/UMBWX?p=UMBWX"
    With CreateObject("MSXML2.XMLHTTP")
        .Open "GET", sURL, False
        .send
        html.body.innerHTML = .responseText
        Set elem = html.querySelector("td[data-test='NET_ASSETS-value']")
        MsgBox elem.innerText
    End With
End Sub

你知道为什么这个股票代码会通过一个N/A,但当我尝试VTSAX时,它会通过这个值吗?代码具有资产净值,因此我不确定为什么它会提取N/A?