我有下一个HTML代码:
<input type="submit" name="ctl00$MainContent$btn_update" value="Update" onclick="return confirm('You are about to update the data. Are you sure?');WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$MainContent$btn_update", "", true, "Update_PL", "", false, false))" id="ctl00_MainContent_btn_update" class="normalButton" style="float: right; margin-right: 108px; margin-top: -3px; width: 130px; height: 50px; font-size: 24px;">
我已经完成了一个VB脚本,可以在网络中执行某些操作。当我必须保存这些更改时,问题就来了。为了保存它们,我要单击上面发布的代码按钮,但正如您所看到的,它有一个onclick事件,抛出“Ok”/“Cancel”弹出窗口。
我知道如何点击按钮:
objIE.Document.getElementById("ctl00_MainContent_btn_update").Click()
但我不知道该怎么做就是点击下面显示的“确定”按钮:
我尝试了下一个:
激活IE弹出窗口并使用SendKeys
objShell.AppActivate(“来自网页的消息”)
objShell.SendKeys“{ENTER}”
使用Windows任务管理器 - 应用程序上显示的名称激活IE弹出窗口。但问题是IE Web窗口和IE弹出窗口在Windows任务管理器中具有相同的名称,因此AppActivate不知道要激活哪一个。
**使用sendkeys我尝试过SendKeys“{ENTER}”和SendKeys“%K”,但没有成功。
VBS代码的有趣部分是:
For Each a In .document.getElementsByTagName("a")
If InStr(a.GetAttribute("href"), linkToDetail)<> 0 And Not IsNull((InStr(a.GetAttribute("href"), linkToDetail))) Then
a.Click()
WaitWebLoad()
.document.getElementByID(editButton).Click()
WaitWebLoad()
.document.getElementByID(editArrivalDateTB).Value = activeSheet.Cells(rowIndex, columnArrivalDate).Value
.document.getElementByID(updateArrivalDateButton).Click()
'Something to press the OK button of the IE dialog window.
objShell.AppActivate(Window Title "- Internet Explorer")
WaitWebLoad()
objIE.document.getElementByID(backToSearchPL).Click()
WaitWebLoad()
Exit For
End If
Next
答案 0 :(得分:0)
完成!
由于我无法单击“确定”按钮,因此我删除了弹出窗口中的代码。
objIE.document.getElementById("nameOfTheButton").onclick = ""
objIe.document.getElementById("nameOfTheButton").Click()