抱歉,这有点令人困惑。但是,我在这里有点不尽如人意。我有一个自动化IE的宏。有一次,我的宏导航到一个用于下载报告的URL。该URL几乎总是相同的。但是,链接中的一位数字有时可以更改。链接中更改的数字只能是1
或2
。用于获取报告的按钮的onclick
事件指示将生成哪个报告。结果,我需要我的宏有一个IF
语句来读取onclick
,如果onclick
有1
,那么它将导航到带有{ {1}},或者如果它是1
,它将导航到带有2
的链接。我在下面提供了2
的详细信息:
onclick
我的代码在下面,如何调用/引用onclick ID?
Link with 'ReporttypeID=1'
<input name="btnContinue" class="primary" id="btnContinue" onclick="javascript:pop('Splash.aspx?SplashID=3&../Reports/ReportView.aspx&ReporttypeID=1&lang=EN&ruletypeid=5&ruleid=0'); return false;" type="submit" value="Continue">```
Link with 'ReporttypeID=2'
<input name="btnContinue" class="primary" id="btnContinue" onclick="javascript:pop('Splash.aspx?SplashID=3&../Reports/ReportView.aspx&ReporttypeID=2&lang=EN&ruletypeid=5&ruleid=0'); return false;" type="submit" value="Continue">```
答案 0 :(得分:2)
这些答案基于始终存在一个或另一个。
提取onclick属性并测试其是否包含字符串"ReporttypeID=1"
If Instr(ie.document.getElementById("btnContinue").getAttribute("onclick"),"ReporttypeID=1")> 0 Then
'report 1
Else
'report 2
End If
另一种方法是使用带有包含运算符的css attribute = value selector来检查nodeList的长度
If ie.document.querySelectorAll("[onclick*='ReporttypeID=1']").Length > 0 Then
'report 1
Else
'report 2
End If