VBA点击网页链接

时间:2016-03-15 06:16:36

标签: vba

我想点击有onclick javascript代码的链接

<a href="#" onclick="if(typeof jsfcljs == 'function'){jsfcljs(document.forms['SideForm'],{'SideForm:j_id40':'SideForm:j_id40'},'');}return false">
 <li>Claim Status</li></a> 

我试过的代码=

Document.getElementById("Document.getElementById("j_id40").Click").Click

所以请帮忙。

2 个答案:

答案 0 :(得分:0)

也许您应该添加更多数据,例如您要尝试的内容或网站本身。还要看看你是否绝对需要使用VBA,那里有很多浏览器自动化软件。

干杯, Sujoy

答案 1 :(得分:0)

CSS选择器和.querySelector方法:

您可以尝试使用HTMLDocument的querySelector方法来应用CSS selector。对于显示的HTML,您可以使用完整的

a[onclick*="if(typeof jsfcljs == 'function'){jsfcljs(document.forms['SideForm'],{'SideForm:j_id40':'SideForm:j_id40'},'');}return false"]

或缩短为:

a[onclick*="if(typeof jsfcljs == 'function')"]

是否可以缩短取决于是否有其他与模式匹配且位于感兴趣的元素之前的元素。

说明:

CSS模式是一个a标记,其onclick属性包含字符串(对于短版本是if(typeof jsfcljs == 'function'),对于较长版本是if(typeof jsfcljs == 'function'){jsfcljs(document.forms['SideForm'],{'SideForm:j_id40':'SideForm:j_id40'},'');}return false =)


使用选择器选择CSS的示例:

CSS selector query


VBA:

要在VBA上应用此功能,请使用:

IE.document.querySelector("a[onclick*='if(typeof jsfcljs == 'function')']")

我已将内部"替换为',以省去在"上加倍以用字符串转义"的麻烦。

否则,它将看起来像:

IE.document.querySelector("a[onclick*=""if(typeof jsfcljs == 'function')""]")