VBA: Загрузите файл Excel из https://chartink.com/screener/practical-swing-trading-stock-scanner

#excel #vba

Вопрос:

Я хочу прежде всего отметить, что я обладаю чрезвычайно базовыми знаниями в области программирования. Я хочу загрузить файл Excel из https://chartink.com/screener/practical-swing-trading-stock-scanner. Вручную это делается нажатием на кнопку с надписью «Excel». Изучив код веб-страницы в инструменте веб-разработчика, я обнаружил, что событие щелчка обрабатывается файлом javascript под названием «atlas.js». Я понятия не имею, с чего начать. Я хочу загрузить файл excel, а затем скопировать содержимое этого файла в локальный файл excel на моем компьютере.

Следующий код отправляет http-запрос на веб-сайт chartink. Я заметил, что objHttpRequest.Текст ответа содержит код, отличный от того, который отображается в инструменте веб-разработчика mozilla firefox.

     Dim objHttpRequest As Object
    Set objHttpRequest = CreateObject("WinHttp.WinHttpRequest.5.1")
    
    objHttpRequest.Open "GET", "https://chartink.com/screener/practical-swing-trading-stock-scanner", False
    objHttpRequest.SetRequestHeader "REFERER", "https://chartink.com/"
    objHttpRequest.SetRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
    
    objHttpRequest.Send
    
    Debug.Print objHttpRequest.ResponseText
 

Комментарии:

1. Я сделал запрос GET на веб-сайте, и из того, что я вижу, данные загружаются в браузер, что означает, что веб-страница возвращает адреса для каждого набора данных и сама не содержит никаких данных. Вам нужно будет указать браузеру, чтобы он загрузил страницу, а затем использовать кнопку. Селен VBA поможет в этом.

2. Вы предлагаете открыть веб-страницу с помощью объекта Internet Explorer и запустить событие нажатия кнопки? Если да, то как мне сохранить файл excel, который загружается при нажатии на кнопку? Я должен скопировать данные из загруженного файла в другой файл excel. Спасибо