Как мне нажать кнопку на веб-сайте, используя запросы в Node JS - PullRequest
0 голосов
/ 10 июля 2020

Я хочу щелкнуть тестовый продукт на этой странице: https://biscuit-bird.myshopify.com/collections/all

Я пытаюсь go полностью запросить и не использовать браузер без головы, такой как кукловод или зомб ie как я уже сделал.

Пожалуйста, дайте мне знать, как это сделать, отправив запрос.

1 Ответ

0 голосов
/ 10 июля 2020

Полагаю, вы используете эту библиотеку? https://github.com/request/request

Если это так, внутри функции обратного вызова, которая предоставляет body страницы, вы можете использовать некоторую библиотеку для анализа содержимого HTML, найдите свою ссылку на тестовый продукт с помощью селектора CSS, а затем откройте URL-адрес, хранящийся в href.

Этот фрагмент сработал для меня:

const request = require('request');
var HTMLParser = require('node-html-parser');


request({
  url:'https://biscuit-bird.myshopify.com/collections/all',
  headers: {
    'User-Agent':'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1'
  }
}, function (error, response, body) {

  // parse method returns a root of the generated DOM
  const root = HTMLParser.parse(body)
  
  // similarly to the browser's DOM, you can lookup DOM elements by their selector using method querySelectorAll  
  const links = root.querySelectorAll("a.grid-link")

  const href = links[0].getAttribute('href');

  // @TODO: send another request to the URL defined in `href`
});
...