1

我正在尝试单击页面上的链接,它没有任何 id 并且没有唯一的类名。该函数唯一的独特之处在于 onclick 处理程序

<a href="#" onclick="closepopup('popup', 'popuphandler')" > </a>

我需要通过 vbscript 自动化单击此链接,同样我尝试了以下代码:

Set allLinks = ie.document.links
for j = 0 to allLinks.length-1
    if allLinks(j).onClick = "closePopup(""popup"",""popupClose"")" then
        allLinks(j).click
        j = allLinks.length 'class name = blueButtonCenter
    end if
Next

但它不起作用,请帮助。

提前致谢 :)

4

2 回答 2

2

在第一种情况下,您没有指定什么不起作用,找到链接或单击它: onClick 将返回类似

about:blank# function onclick()
{
closepopup('popup', 'popuphandler')
}

所以你应该使用 instr 检查它是否是正确的链接

Dim HTMLDoc, XML, URL, table
Set HTMLDoc = CreateObject("HTMLFile")
Set XML = CreateObject("MSXML2.XMLHTTP")

URL = "your url"

With XML
  .Open "GET", URL, False
  .Send
  HTMLDoc.Write .responseText
End With

Set allLinks = HTMLDoc.links 
For each link in allLinks
  if instr(link.onClick, "closepopup('popup', 'popuphandler')") then
    link.click
    exit for
  end if
Next 

只有点击不会以这种方式工作..

于 2012-07-30T11:00:34.430 回答
0

我会尝试检查是否在实际的javascript中找到了closePupup,如下所示:

'safety first
if not isnull(allLinks(j).onClick) then
  if instr(allLinks(j).onClick.toString() ,  "closePopup(""popup"",""popupClose"")" ) > -1 then 
        allLinks(j).click 
        j = allLinks.length 'class name = blueButtonCenter 
  end if 
end if

这假设 onClick 提供一个字符串,(至少在 javascript 中它确实如此,并且在 IE9 和 Chrome 中这是有效的)

于 2012-07-30T10:06:14.263 回答