VBS确认IE PopUp

时间:2016-04-12 07:08:18

标签: internet-explorer vbscript popup

我有下一个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(&quot;ctl00$MainContent$btn_update&quot;, &quot;&quot;, true, &quot;Update_PL&quot;, &quot;&quot;, 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 Confirmation pop-up

我尝试了下一个:

  1. 使用objShell.SendKeys“{ENTER}”
  2. 激活IE弹出窗口并使用SendKeys

    objShell.AppActivate(“来自网页的消息”)

    objShell.SendKeys“{ENTER}”

  3. 使用Windows任务管理器 - 应用程序上显示的名称激活IE弹出窗口。但问题是IE Web窗口和IE弹出窗口在Windows任务管理器中具有相同的名称,因此AppActivate不知道要激活哪一个。

  4. **使用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
    

1 个答案:

答案 0 :(得分:0)

完成!

由于我无法单击“确定”按钮,因此我删除了弹出窗口中的代码。

objIE.document.getElementById("nameOfTheButton").onclick = ""
objIe.document.getElementById("nameOfTheButton").Click()