tl; dr: Как отправить запрос POST в VBA с помощью XMLHttpRequest в Internet Explorer?VBA отправить XMLHttpRequest из Internet Explorer
Я про автоматизацию использования страницы в Интернете. Идея состоит в том, чтобы начать с Excel, чтобы собрать некоторые данные на листе, а затем перенести эти данные на интернет-страницу, одновременно нажать несколько кнопок, а затем работать вручную.
Я записал весь процесс, когда он запускается вручную с помощью инструментов разработчика F12. Собрав данные в поля страницы в сети Интернет, некоторые события Javascript иметь место, которые сгореть запрос POST через XMLHttpRequest:
Теперь, тиражирование процедуру, описанную выше в VBA (с помощью getElementById
, .click()
, .value=
и тому например), похоже, что соответствующие события не запускаются: на сервер не отправляется такой запрос POST, как показано выше, и никаких дополнительных масок не открывается. Вот почему я хотел опустить подход к заполнению текстового поля и просто щелкнуть запрос POST.
Как это сделать из VBA с помощью Internet Explorer?
Отказ от ответственности: Я знаю, как отправить запрос POST, используя MSXML2.serverXMLHTTP
, который описан сотни раз через Интернет. Тем не менее, это всегда либо - либо: либо использовать Internet Explorer, либо MSXML2.serverXMLHTTP
. Однако мне нужен запрос в Internet Explorer.
Невозможно ответить на этот вопрос, не видя фактического URL-адреса - есть много потенциальных событий, на которые может реагировать код на вашей HTML-странице (размытие, нажатие клавиши/вверх, фокус и т. Д.) –
@TimWilliams: (i) можно ли понять происходящие события умным или систематическим образом? (- без проб и ошибок с записью) (ii) в любом случае, я не хочу использовать способ воспроизведения событий. Я хочу напрямую запускать почтовый запрос с использованием XMLHttpRequest в Internet Explorer, и это из VBA ... так, чтобы сервер видел тот же результат, что и в других случаях, вызванный событиями Javascript. – davidhigh
Да, возможно, это возможно, но вам нужно будет изучить страницу и выяснить, что там происходит. –