VBA搜索特定文本的iframe。

时间:2016-10-10 16:35:15

标签: html vba iframe

我正在使用以下代码登录基于网络的系统,查看客户的帐户历史记录并查看他们是否已兑换促销优惠。我认为我遇到的问题是iframe,历史显示在iframe中,但似乎instr函数没有读取正确的代码。 这是我的代码无法正常工作,只是返回“未找到”响应,无论iframe中有什么...

IE.Document.getElementsByTagName("iframe")(0).contentWindow.Document.getElementsByTagName("input")(1).Click
'clicks button to open history

Do Until Not IE.Busy And IE.readyState = 4
    DoEvents
Loop

promo = IE.Document.getElementsByTagName("iframe")(1).innerText
If InStr(promo, Range("C8")) = 1 Then
    ActiveSheet.Range("C10") = "Found"
Else
    ActiveSheet.Range("C10") = "Not Found"
End If

所以基本上我将促销名称输入到单元格C8中,我正在尝试检查匹配的iframe。这是iframe中包含我要检查的数据的html(类名是“内容”)......

    <tr>
        <td class='Header'>Customer History from  Monday, September 12, 2016 to Monday, October 10, 2016 </td> 
    </tr>

    <table border='1' width='100%' cellspacing='0' cellpadding='2'>
        <tr>
            <td class="Content" align="center" width="20%"><b>Promotion</b></td>
            <td class="Content" align="center" width="28%"><b>Issue Date</b></td>
        </tr>
    </table>                


    <table border='1' width='100%' cellspacing='0' cellpadding='2'>
    <tr>
        <td class='Content' width="20%"> October Promo  </td>
        <td class='Content' width="28%"> 10/10/2016 10:50:38 AM                                 </td>
    </tr>
    </table>

    <table border='1' width='100%' cellspacing='0' cellpadding='2'>
    <tr>
        <td class='Content' width="20%"> Exclusive Online Promotion! </td>
        <td class='Content' width="28%"> 10/10/2016 10:50:32 AM                                 </td>
    </tr>
    </table>

    <table border='1' width='100%' cellspacing='0' cellpadding='2'>
    <tr>
        <td class='Content' width="20%"> Exclusive October Offer  </td>
        <td class='Content' width="28%"> 10/10/2016 10:50:10 AM                             </td>

    </tr>
    </table>

我不确定这是否重要,但iframe是页面上的第二个iframe,这就是我为iframe使用“(1)”的原因。

我真的很感激任何建议。

谢谢

0 个答案:

没有答案