遵循基于Javascript的href链接

时间:2015-06-04 22:50:35

标签: javascript excel vba excel-vba

我试图让IE点击通过JavaScript启动新窗口的链接。我的问题是每次访问页面时链接地址都会发生变化。 我唯一希望这可以起作用是因为链接总是位于同一个地方。

我想知道是否有人可以帮助我点击下面突出显示的链接所需的代码:

这是HTML:最后一行是

的行
<div id="panelTitle">
<img src="/art/nav/clearpixel.gif" width="10" height="7" style="display: block;"/>
<div>
<table border="0" cellpadding="2" cellspacing="0" bgcolor="#bec7de" width="100%">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tbody>
<tr valign="top">
<td width="100%">
<script language="javascript" src="/js/jquery/jquery-1.6.1.min.js"/>
<script language="javascript" src="/js/wm/reptop/Details.js"/>
<script language="javascript" src="/js/wm/reptop/common.js"/>
<script language="javascript" src="/js/caos/caos.js"/>
<table border="0" cellpadding="2" cellspacing="0" bgcolor="#ffffff" width="100%">
<tbody>
<tr valign="top">
<td class="snl" width="50%">
<td class="sn">
<table border="0" cellpadding="2" cellspacing="0" bgcolor="#ffffff" width="100%">
<tbody>
<tr valign="top">
<tr valign="top">
<td class="sn">
<table border="0" cellpadding="2" cellspacing="0" bgcolor="#ffffff" width="100%">
<tbody>
<tr bgcolor="#cccccc" valign="LEFT">
<tr valign="top">
<td class="snl" width="50%">
<td class="sn">
<a href="javascript:fnOpenWindow('/ao/party/popuppartyinfo?111111111')">Dr

1 个答案:

答案 0 :(得分:0)

我发现使用parentWindow.execScript尝试点击“{1}}通常会更好”。锚元素。

您尝试“点击”的主要元素并不会显示出来。具有任何形式的唯一标识,因此您可能需要遍历所有<a>元素以查找它。

Dim sHREF As String, a As Long

For a = 0 To ie.document.getelementsbytagname("a").Length - 1
    sHREF = ie.document.getelementsbytagname("a")(a).href
    If CBool(InStr(1, sHREF, "popuppartyinfo", vbTextCompare)) Then
        ie.document.parentWindow.execScript sHREF
        Do While ie.busy Or ie.readystart < READYSTATE_COMPLETE: DoEvents: Loop
        Exit For
    End If
Next a

可能有更明确的方法来识别所需的<a>链接,但上述内容应该为您提供流程的要点。