Почему код не нажимает на кнопку? - PullRequest
0 голосов
/ 22 апреля 2019

Я пытаюсь открыть окно IE и нажать кнопку, чтобы автоматизировать повторяющуюся работу. Код открывает окно, но не нажимает кнопку, любая помощь?

Кнопка имеет этот код:

<a tabindex="0" title="Criar Solicitação de Manutenção" 
  class="urLnkReportGl20 urTxtEmph" id="WD54" 
  style="WHITE-SPACE: nowrap" 
  ondragstart="var e=window.event;e.cancelBubble=true;e.returnValue=false;return false;"
   href="javascript:void(0);" shape="" ti="0" 
  lsevents="{Activate:[{ResponseData:'delta',ClientAction:'submit'},{}]}" 
  lsdata="{0:'Criar\x20Solicita\xe7\xe3o\x20de\x20Manuten\xe7\xe3o',1:'CRIAR\x20SOLICITA\xc7\xc3O\x20DE\x20MANUTEN\xc7\xc3O',4:true}" 
  ct="LN"
<img align="absMiddle" ondrag="return false" 
   alt="Criar Solicitação de Manutenção" src="http://dest-pb0l03.sap.global.*****:8000/sap/public/bc/WebIcons/ur/default/l/Pictogram/Caliper.gif" border="0"</img> CRIAR SOLICITAÇÃO DE MANUTENÇÃO
</a>

код, который я использую, это:

Sub VbaInternet()

Set Internet = New InternetExplorer
Internet.navigate "http://dest-pb0l03.sap.global.*****:8000/sap/bc/webdynpro/sap/zpm_portal?sap-language=PT"
Internet.Visible = True

While Internet.Busy
    Do While Internet.readyState = 4: DoEvents: Loop   'Do While
    Do Until Internet.readyState = 4: DoEvents: Loop   'Do Until
Wend

Dim oElement As Object 'Objeto referente a um Elemento
Dim oElementCol As Object 'Coleção de um tipo de Elemento


Set oElementCol = Internet.document.getElementsByTagName("a")


  'Ao encontrar, é simulado o Click e força a saída do laço.
  If oElement.className Like "urLnkReportGl20 urTxtEmph" Then

  oElement.Click

End If
  Next oElement
End Sub

Я ожидаю, что смогу нажать на эту кнопку

1 Ответ

0 голосов
/ 23 апреля 2019

Не могли бы вы попробовать это со стандартным ожиданием загрузки страницы и сообщить мне код ошибки, который вы получите, если таковой имеется?

Option Explicit
'VBE > Tools > References: Microsoft Internet Controls
Public Sub ClickButton()
    Dim ie As InternetExplorer
    Set ie = New InternetExplorer

    With ie
        .Visible = True
        .Navigate2 "yourURL"

        While .Busy Or .readyState < 4: DoEvents: Wend

        .document.getElementById("WD54").Click

        Stop
    End With
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...