2017-07-06 57 views
0

我想从网页中使用vba将一些数据取消到Excel中。使用vba从跨度中提取内部文本

的HTML代码是

<span id="lastPrice">300.21</span> 

我想数300.21

我试过,但没有工作(在ST返回任何内容)

Dim st As String 

st = htmldoc.getElementById("lastPrice").getElementsByTagName("span")(5).innerText 

我如何获得期望的输出?

+0

你有使用多个元素' “lastPrice”'作为自己'ID'? – 2017-07-06 18:17:55

+0

不,我没有。这里的链接https://www.nseindia.com/live_market/dynaContent/live_watch/get_quote/GetQuote.jsp?symbol=SBIN&illiquid=0&smeFlag=0&itpFlag=0 – user3126632

+0

'document.getElementById(“lastPrice “).innerText'使用Chrome控制台返回正确的号码。你能发布更多的代码或下载链接吗? – 2017-07-06 18:49:35

回答

6

试试这个:

Dim element as Object 
Set element = htmldoc.getElementById("lastPrice") 

Dim price as String 
If Not element Is Nothing Then price = element.innerText 
+0

它显示了一个荒唐的输出2200.00% – user3126632

+1

这是从哪里来的?网页上的任何位置是否有显示2200.00%的元素? –

+0

不,我没有在页面上发现任何东西 – user3126632