2016-04-12 29 views
0

sonraki HTML kodu vardır: Bir web bazı eylemlerde bir VB komut dosyası yapmışVBS onayla IE PopUp

<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;"> 

. Bu değişiklikleri kaydetmek zorunda kaldığımda sorun geliyor. Onları kaydetmek için yukarıda kaydettiğim kodu tıklıyorum ama görebildiğiniz gibi bir "Ok"/"İptal" Pop-up'ı açan bir onclick olayı var. Aşağıda gösterilen

objIE.Document.getElementById("ctl00_MainContent_btn_update").Click() 

ama nasıl yapılacağını bilmiyorum "Tamam" düğmesine tıklayın etmektir:

IE Confirmation pop-up

I

Ben butonuna tıklayın biliyorum

  1. Kullanım objShell.SendKeys
  2. "{ENTER}": Bir sonraki denedi
  3. IE açılır pencere ve kullanım SendKeys

    objShell.AppActivate ("web sayfasından Mesaj")

    objShell.SendKeys

  4. IE pop-up aktive "{ENTER}" Aktive Windows Görev Yöneticisi'nde gösterilen adla - Uygulamalar. Ancak sorun, IE Web penceresi ve IE açılır penceresinin Windows Görev Yöneticisi'nde aynı ada sahip olmasıdır, bu nedenle AppActivate hangisinin etkinleştirileceğini bilmiyor.

** Gönderme anahtarlarını kullanma "{ENTER}" ve SendKeys "% K" yi denedim, ancak başarılı sonuç yok.

VBS kod ilginç parçasıdır:

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 

cevap

0

Bitti!

Tamam düğmesini tıklayamadığım için, yükseltmek için açılır pencereyi yapan kodu sildim.

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