gpt4 book ai didi

excel - 引用 If 语句的 'onclick' 事件 - IE 自动化

转载 作者:行者123 更新时间:2023-12-04 22:25:35 24 4
gpt4 key购买 nike

抱歉,如果这有点令人困惑。但是,我在这里有点超出我的深度。我有一个自动化 IE 的宏。有一次,我的宏导航到用于下载报告的 URL。 URL 几乎总是相同的。但是,链接中的一位数字有时会发生变化。链接中改变的数字只能是12 . onclick获取报告的按钮事件指示将生成哪个报告。因此,我需要我的宏有一个 IF声明阅读onclick如果 onclick1 ,然后它将导航到带有 1 的链接或者如果是 2 ,它将导航到带有 2 的链接.我提供了onclick详情如下:

Link with 'ReporttypeID=1'

<input name="btnContinue" class="primary" id="btnContinue" onclick="javascript:pop('Splash.aspx?SplashID=3&amp;../Reports/ReportView.aspx&amp;ReporttypeID=1&amp;lang=EN&amp;ruletypeid=5&amp;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&amp;../Reports/ReportView.aspx&amp;ReporttypeID=2&amp;lang=EN&amp;ruletypeid=5&amp;ruleid=0'); return false;" type="submit" value="Continue">```

我的代码在下面,如何调用/引用 onclick id?
Sub login()
Application.DisplayAlerts = False
Dim url As String
url = UserForm.Path2.Value

Dim ie As Object
Set ie = CreateObject("InternetExplorer.Application")

With ie 'Open IE
.navigate url
ieBusy ie
.Visible = False

ie.navigate "https://mylink.com/ReporttypeID=1" 'Currently navigate to this set link
'Need IF statement to say if onclick = 1 then go to above link, else if it = 2 then go to the below link
'ie.navigate "https://mylink.com/ReporttypeID=2"

ieBusy ie

End With 'End IE actions

Application.DisplayAlerts = True
End Sub

最佳答案

这些答案基于始终存在一个或另一个。

提取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使用包含运算符检查节点列表长度
If ie.document.querySelectorAll("[onclick*='ReporttypeID=1']").Length > 0 Then
'report 1
Else
'report 2
End If

关于excel - 引用 If 语句的 'onclick' 事件 - IE 自动化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58068406/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com