Как распечатать ответ json с сайта, используя кукловод? - PullRequest
1 голос
/ 19 апреля 2020

Я пытаюсь заставить веб-сайт Google Translate сделать какую-то работу для меня, веб-сайт возвращает пустую веб-страницу с файлом json. Используя веб-браузер, я могу сохранить файл json и открыть его в текстовом редакторе.

Я пытаюсь использовать кукловода, чтобы сделать это автоматически. Вот мой код:

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({headless:false, args: ["--no-sandbox"]});
  const page = await browser.newPage();

  // Approach 1:
  const response = await page.goto('https://translate.googleapis.com/translate_a/single?client=gtx&sl=en&tl=zh&dt=t&q=Edit%20Report');
  let text = await response.text();
  console.log(text);
  let json = await response.json();
  console.log(json);

  await browser.close();
})();

Когда я запускаю этот код, браузер запускается, но возвращенный файл json все равно автоматически сохраняется на диск вместо печати на консоль. Какой класс кукловода я должен использовать для этого задания?

1 Ответ

0 голосов
/ 19 апреля 2020

Поскольку это вызов API и ожидаемый результат - JSON, вы можете использовать простой код nods JS или Jquery для возврата ответа, как показано ниже.

$.get('https://translate.googleapis.com/translate_a/single?`client=gtx&sl=en&tl=zh&dt=t&q=Edit%20Report', (data) =>`
{
    console.log(data);
});

, но если Вы неравнодушны к использованию кукловода и хотите вернуть ответ. вы бы сделали следующее.

Добавьте Jquery зависимость к вашему проекту, запустив

npm install jquery

Импортируйте JQuery в проект.

Вызовите код ниже, без запуска браузера.

 $.get('https://translate.googleapis.com/translate_a/single?client=gtx&sl=en&tl=zh&dt=t&q=Edit%20Report', (data) =>
{
    console.log(data);
});

Вот ссылка на код JSfiddle https://jsfiddle.net/faizmagic/0h6cm1o4/latest/

Надеюсь, это поможет.

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