我想知道爲什麼MSXML2.ServerXMLHTTP對象的響應屬性沒有返回完整的html源代碼。它似乎只是返回「內部html」。我可以創建一個IE對象並獲取「外部html」,但由於我擁有數百個搜索項,因此效率不高。爲什麼不是MSXML2.ServerXMLHTTP響應返回完整的html源代碼?
我有下面顯示的功能(與URL),將HTML內容分配給一個字符串。
Sub test()
Dim myString As String
myString = getECICS2("103-90-2") ' myString only contains inner html
End Sub
Public Function getECICS(ByVal casNum As String) As String
Dim XMLhttp: Set XMLhttp = CreateObject("MSXML2.ServerXMLHTTP")
XMLhttp.setTimeouts 2000, 2000, 2000, 2000
XMLhttp.Open "GET", "http://ec.europa.eu/taxation_customs/dds2/ecics/chemicalsubstance_consultation.jsp?Lang=en&Cas=" & casNum & "&Cus=&CnCode=&EcCode=&UnCode=&Name=&LangNm=en&Inchi=&Characteristic=&sortOrder=1&Expand=true&offset=0&range=25", False
XMLhttp.send
If XMLhttp.Status = 200 Then
getECICS = XMLhttp.responseText
Else
getECICS = ""
End If
End Function
在此先感謝
無論我使用您的方法還是僅僅在瀏覽器中查看源代碼,我都會得到完全相同的結果。你應該看看源代碼 - 在開頭的''標籤前面有一堆腳本。 –
是的我知道但是我對此不感興趣,我感興趣的部分是在頁面的底部,例如對於這個特定的搜索它是「0021314-9」,但是這個數字不會使用我的方法出現。有趣的是,如果我去firefox督察> HTML>複製外部HTML,剪貼板包含搜索結果 – Jeanno
你如何測試該「0021314-9」的存在?如果你使用debug.print,你應該知道它只顯示最多行數。否則 - 請擴大。 –