用于触发iframe div类元素的VBA代码

时间:2017-08-09 12:17:43

标签: vba excel-vba iframe ie-automation excel

请帮我解决以下IE自动化方案,

我需要一个vba代码来点击已经放在iframe中的网页标签文本(记录问题),下面给出了示例html代码,

<iframe name="VF304274040_1502270092884IF_1" title="Browse Categories" id="VF304274040_1502270092884IF_1" src="javascript:"<HTML></HTML>"" frameBorder="0" scrolling="auto" style="background-color: transparent; width: 100%; height: 100%; top: 0px; left: 0px;" allowTransparency="allowtransparency" onload="F(1,304274040).ol()" arviewbordercolor="null">
<head>XXXX
<body>XXXX
<div id XXXX>
.............
<div id XXXX>
......
     <div>
          <div class="categoryTitleLink">
          <label class="cursor bold category_title" id="cat-title IDHAA5V0GQBL2AN3HRTMFOSP0OLB90" level="0" category="true" categoryname="Log+an+Issue" descr="#IDHAA5V0GQBL2AN3HRTMFOSP0OLB90" jQuery15019202206560111384="9">
            ....Text - Log an Issue
</body></head>

我已尝试使用以下vba代码解析iframe及其div类内部文本,并找到了&#34;记录问题&#34;元素,但我无法触发它。

VBA代码:

doc1 = IE.document.frames(1).Name
For Each div In IE.document.frames(doc1).document.getElementsByTagName("div")
        class_obj = div.innerText
        If class_obj = "Log an Issue" Then ' the text was found by this loop
            div.parentElement.Click ' this doesn't works (nothing happening)
        End If
Next div

请帮助!!

1 个答案:

答案 0 :(得分:0)

尝试

doc1 = IE.document.frames(1).Name
IE.document.frames(doc1).document.getElementId("cat-title IDHAA5V0GQBL2AN3HRTMFOSP0OLB90").Click

该元素具有ID,因此请尝试使用它。