Saya mencoba mengikis situs web yang menggunakan reaksi, ketika di chrome saya dapat mengakses elemen yang saya inginkan, tetapi ketika saya mencoba menggunakan dalang saya tidak dapat mengakses elemen yang sama karena kode sumber tidak memuat elemen reaksi tersebut , apakah ada cara untuk mengaksesnya.

Ini kodenya

const request= require('request-promise')
const cheerio= require('cheerio');
const puppeteer = require("puppeteer");

const Url='https://angel.co/companies';


(async ()=>{

    const browser = await puppeteer.launch({headless: false});
    const page = await browser.newPage();

    await page.goto(Url);
      const html = await page.content();
    // const response=request.get(Url)
    const $ = await cheerio.load(html);




    // const companies=$('div.base.startup').html()
     const companies=await $('div.base.startup > div.company.column > div > div.text > div.pitch').text()
    // const companies=document.querySelectorAll('div.base.startup > div.company.column > div > div.text > div.pitch')

    console.log(companies)
    await browser.close()

} )()

0
Subham Pradhan 15 Maret 2020, 17:34

1 menjawab

Jawaban Terbaik

Saya melakukan sesuatu yang mirip dengan Python beberapa bulan yang lalu. Pada dasarnya menunggu elemen muncul di halaman (sebagai indikator, bahwa Bereaksi selesai memuat).

Saya mencari API Puppeteer dan menemukan page.waitForSelector, yang bisa Anda gunakan, saya kira.

0
Ryuno-Ki 15 Maret 2020, 15:31