(GetElement)单击没有ID,TAG,NAME,CLASS,VALUE,SIBLINGS的按钮

时间:2018-02-14 22:10:53

标签: excel vba web

我试图自动化网络输入流程。我需要点击这个按钮,但正如标题所说,它没有任何东西让我离开。这实际上就是我与之合作的内容。有人有什么建议吗?

Button

Set IE = CreateObject("InternetExplorer.Application")

IE.Visible = True

IE.Navigate "https://ww3.somewebsite.com/somePortal/processItem.do?action=openItem&userId=someUser"

IE.document.getElementById("filterfields").Value = "EVT_CODE"

IE.document.getElementById("filtervalue").Value = "9477474" 

1 个答案:

答案 0 :(得分:0)

OP在这里。对不起这个问题的可怕格式,这是第一次。为了将来帮助别人......

这是我最初做的。这是我的乐队援助修复。

ie.document.getelementByID("filtervalue").select
"SendKeys{ENTER}"

这突出显示了我的输入值,只需按下回车键。如果您是VBA的新手并且需要立即使用某些功能,请使用.select和SendKeys并稍后再回来。

然后,1周后,我想出了

Call ie.document.parentWindow.execScript("setUserIDAndRunDataspy();", "JavaScript")

另一方面,这只是字面上运行事件本身并且更可靠。 如果您遇到任何问题,我尝试的第一次迭代就像

Call ie.parentWindow.execScript("setUserIDAndRunDataspy();", "JavaScript")
Call ie.document.execScript("setUserIDAndRunDataspy();", "JavaScript")

他们没有为我工作,但为我检查的其他脚本工作。我不确定为什么。

你可以尝试的另一个解决方案,虽然我没有经过测试,但蒂姆威廉姆斯建议。它会是这样的:

For Each ele In ie.document.getelementsbytagname("img")
              If InStr(ele.Value, "./images/dsprun_out.gif") > 0 Then ele.Click
Next