我正在尝试点击页面上的链接,它没有任何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
但它不起作用,请帮助。
提前致谢:)
答案 0 :(得分: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
只有点击不会这样..
答案 1 :(得分: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中都有效)