2017-10-06 98 views
0

我想從td rowspan得到數據& td colspan都具有相同的類(ng綁定)。我需要輸出100從td rowspan =「4」和td colspan =「6」的38.6%。 下面是我的html代碼:vba代碼從td rowspan&td colspan使用硒firefox

<td rowspan="4" class="ng-binding">Subscription used in terms of Duration:100</td> 
 
<td colspan="6" class="ng-binding">38.6%</td>

下面是我所嘗試,但得到錯誤信息運行時錯誤「438」對象簡化版,支持此屬性或方法在Set TDs = driver.findElementByClassName("ng-binding")

代碼
Sub edit() 
Dim driver As New selenium.FirefoxDriver 
driver.Get "url" 
Dim TDs As IHTMLElementCollection 
Dim td As IHTMLElement 
Set TDs = driver.findElementByClass("ng-binding") 
For Each td In TDs 
If InStr(td.innerHTML, "rowspan=""4""") > 0 Then s = td.innerText 
If InStr(td.innerHTML, "td colspan=""6""") > 0 Then 
    s = td.innerText 
    s = Right(s, Len(s) - InStr(s, ":")) 
End If 
Debug.Print s 
Next td 
End Sub 
+0

你錯誤說'findElementByClassName'和代碼說'findElementByClass'?它應該是'findElementByClass'這樣的 –

回答

0

假設html變量是您的宏下載的html代碼。我會做這種方式:

Dim TDs As IHTMLElementCollection 
Dim td As IHTMLElement 

Set TDs = html.getElementsByClassName("ng-binding") 
For Each td In TDs 
If InStr(td.innerHTML, "rowspan=""4""") > 0 Then s = td.innerText 
If InStr(td.innerHTML, "td colspan=""6""") > 0 Then 
    s = td.innerText 
    s = Right(s, Len(s) - InStr(s, ":")) 
End If 
Debug.Print s 
Next td 

如果只有一個它應該工作「:」內< TD行跨度=「4」級=「NG結合」>。

+0

嗨MarcinSzaleniec,感謝您的答覆。其實我使用硒火狐所以請求你喲請幫助我如何使用此代碼在硒火狐。 – anupam