Ожидание загрузки на стороне клиента Javascript с помощью запроса Ax ios GET - PullRequest
0 голосов
/ 28 мая 2020

Я пытаюсь синхронизировать c свой рабочий график с моим Календарем Google. Сейчас API недоступен, так что, к сожалению, это не вариант. Я могу успешно войти в свою учетную запись и перенаправить на страницу с контентом. Единственная проблема заключается в том, что сайт использует javascript на стороне клиента, который загружает даты, et c.

Есть ли способ заставить Ax ios подождать несколько секунд, чтобы даты могли загрузить, а затем вернуть содержимое тела? Я искал inte rnet, но не смог найти ответов на свой вопрос.

Это код, который я использую прямо сейчас.

axios.post('link here', {
    Username: 0,
    Password: 0
}).then((res) => {
    axios.get('link here', {headers: {
        "Cookie":res.headers['set-cookie']}}, {}).then((res) => {
        console.log(res.data)
    });
});

Итак, я Я ищу способ, чтобы он загружал страницу, а затем возвращал res.data.

1 Ответ

1 голос
/ 28 мая 2020

Это невозможно с ax ios. Что делает браузер, так это то, что он извлекает html (например, ваш get вызов) и отображает любой динамический c контент, выполняя javascript, связанный с html

Ax ios, будет просто верните необработанный html, и, поскольку это не браузер, вы больше ничего не получите.

Если вы абсолютно уверены, что нет интеграции api ala: https://developers.google.com/calendar, вы можете использовать вместо него https://github.com/puppeteer/puppeteer.

Puppeteer, в отличие от ax ios, отобразит страницу и запустит любой связанный javascript за вас. Это безголовый браузер chrome, которым вы можете управлять через javascript. Это подходящий инструмент для этой работы.

В качестве альтернативы, вместо получения необработанного HTML, вы можете выяснить, какие вызовы выполняет функция javascript (возможно, это вызов другой ссылки)

...