2014-01-08 145 views
1

我是新的excel vba編程。我一直試圖在近3天內使用excel vba單擊網頁上的超鏈接。請幫助我。由於我對此很陌生,所以我可能犯了很多錯誤。請原諒我。如何使用vba excel單擊網頁上的超鏈接?

該場景是: 一個特定的網頁有一個表,第一列作爲圖標,第二列是一個超鏈接和一些更多的列以及有關超鏈接的一些描述。

現在,我想單擊第一行(第二列)中的超鏈接。 當我們將鼠標懸停在同一行(第一列)中的圖標上時,會顯示相同的超鏈接。

這個網頁是動態的,因此表格不斷變化。實際上,該表格是輸入搜索條件的結果。

我已經寫了很多三天的代碼。 這是不工作的最新一個多數民衆贊成:

「獲取元素的ID爲行

With elementid = ieApp.document.all.Item("abcrow1") 
    'checking for details with tagname as "a" 
    Set tagname = ieApp.document.getElementByTagName("a") 

    For Each tag In tagname 
    'Get value of the href 
    hrefvalue = tag.href.value 
    If Not IsNull(hrefvalue) Then 
    If hrefvalue <> "javascript:void(0);" Then 'this href is usedto describe the icon 
     hrefvalue = ieApp.document.href.value 

     hrefvalue = "https://www.secur.com" & hrefvalue 
     ieApp.Navigate hrefvalue 
     Exit For 
    End If 
    End IF 
Next tag 
End With 

的HTML腳本如下:

<tr id = "abcrow1" class="e1"> 
    <td class = "icon"></td> 
    <td><ul class="xyz" id="link"> 
     <li><a href = "javascript:void(0);"><img src="/nnn.gif" border = 0 alt = "info"   </a> 
     <ul> 
     <li><a onclick ="return cursorWait(this);" href = "/xyz/lmo">DetailOfRow1</a></li></ul></td> 
    <td style = "text-align:left"><aonclick="return cursorWait(this);" href = "/xyz/lmo">DetailOfRow1</a></td></tr> 

請幫助我。謝謝。

回答

0

這是行不通的嗎?如果不是,hrefvalue_1和hrefvalue_2會評估什麼?

Set Tagname = ieApp.document.getElementsByTagName("a") 
For Each Tag In Tagname 
    If InStr(1, Tag.innertext, "DetailOfRow1", vbTextCompare) > 0 Then 
     hrefvalue_1 = Tag  ' tag may contain "about:", if so remove it 
     hrefvalue_2 = Replace(Tag, "about:", "", 1, -1, vbTextCompare) 
     hrefvalue_3 = "https://www.secur.com" & hrefvalue_2 
     ieApp.Navigate hrefvalue 
     Exit For 
    End If 
Next Tag 

這一點很難,而不存取權限的URL來完成,但這些方針的東西應該工作...

With elementid = ieApp.document.all.Item("abcrow1") 
'checking for details with tagname as "a" 
Set tagname = ieApp.document.getElementByTagName("a") 

For Each tag In tagname 
    'Get value of the href 
    If InStr(1, tag.getAttribute("href"), "javascript:void(0);", vbTextCompare) = 0 Then  
    hrefvalue = tag 
    hrefvalue = "https://www.secur.com" & hrefvalue 
    ieApp.Navigate hrefvalue 
    Exit For 
    End If 
Next tag 
End With 
+0

感謝。在納入您的建議後,我的許多問題都得到了解決。但我仍然無法導航到HTML代碼最後一行中提到的鏈接。 ' – user3174245

+0

我如何獲得屬性風格?這是正確的,因爲它似乎沒有工作:'如果Instr(1,tag.getAttribute(「Style」),「tex-align:left」,vbTextCompare)<> 0然後'導航到鏈接href。 – user3174245

相關問題