Выполните Javascript с Кукольником, Узлом и Экспрессом - PullRequest
0 голосов
/ 17 февраля 2019

У меня есть следующий код.

Этот код открывает браузер, и мне нужно получить определенные элементы с помощью JavaScript.

var express = require('express');
var fs      = require('fs');
var request = require('request');
var cheerio = require('cheerio');
var app     = express();
var arr2 = [];
const puppeteer = require("puppeteer");
var mysql = require('mysql');
var cors = require('cors');

var conn = mysql.createConnection({
    host : 'localhost',
    user : 'root',
    password : '',
    database : 'todoapp'
});

// use it before all route definitions
app.use(cors({origin: 'http://localhost:4200'}));
app.get('/retreiveAllCountries', function(req, response,body){

    (async () => {

    var queryParam = req.query;
    var url = queryParam.website;  
    var array = [];
    //Retreive URLS
     const browser = await puppeteer.launch();
    const page = await browser.newPage();

    await page.goto(url, { waitUntil: "load" });


})();
})
app.listen('3006')
console.log('Web Scrape happens on port  ');
exports = module.exports = app;

Это код с Javascript, который возвращает список

const listItems1 = document.querySelectorAll('ul.menu.country-list.tournament-menu');
for (let i = 0; i < listItems1.length; i++) {
  console.log(listItems1[i].textContent);
}

Мне нужно знать, как выполнить этот код Javascript внутри кукловода.

1 Ответ

0 голосов
/ 23 февраля 2019

Чтобы запустить код в браузере кукловода, вам нужно использовать функцию оценивать .

const result = await page.evaluate(() => {
  const listItems1 = document.querySelectorAll(
    "ul.menu.country-list.tournament-menu"
  );
  let textContent = [];
  for (let i = 0; i < listItems1.length; i++) {
    textContent.push(listItems1[i].textContent);
  }
  return textContent;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...