我正在使用以下代码登录基于网络的系统,查看客户的帐户历史记录并查看他们是否已兑换促销优惠。我认为我遇到的问题是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)”的原因。
我真的很感激任何建议。
谢谢