1. Početna
  2. Tehnologija & Gadgeti
  3. Kako koristiti Puppeteer za dohvat teksta iz elementa?

Kako koristiti Puppeteer za dohvat teksta iz elementa?

Puppeteer je popularna biblioteka za automatizaciju preglednika koja omogućuje programerima da lako upravljaju Chrome ili Chromium preglednicima putem JavaScript koda. Ova biblioteka se često koristi za testiranje web aplikacija, scraping podataka s web stranica i generiranje snimaka zaslona ili PDF-ova stranica. U ovom članku fokusirat ćemo se na to kako koristiti Puppeteer za dohvat teksta iz određenog HTML elementa na web stranici.

Prvo, da bismo koristili Puppeteer, moramo ga instalirati. To možemo učiniti pomoću npm alata, koji je dio Node.js okruženja. Instalirajte Puppeteer pokretanjem sljedeće naredbe u terminalu:

npm install puppeteer

Nakon što instaliramo Puppeteer, možemo započeti s pisanjem koda. U ovom primjeru, pretpostavit ćemo da želimo dohvatiti tekst iz <div> elementa koji ima određenu klasu. Prvo, kreiramo skriptu koja otvara preglednik, učitava stranicu i pronalazi željeni element kako bismo dohvatili njegov tekst.

Evo kako bi naš osnovni primjer mogao izgledati:

const puppeteer = require('puppeteer');

(async () => {
    const browser = await puppeteer.launch();
    const page = await browser.newPage();
    await page.goto('https://example.com');

    const element = await page.$('.my-element-class');
    const text = await page.evaluate(el => el.textContent, element);

    console.log(text);

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

Prvo, koristimo puppeteer.launch() za pokretanje novog preglednika. Zatim otvaramo novu stranicu pomoću browser.newPage() i učitavamo željenu stranicu koristeći page.goto() metodu. U ovom slučaju, učitavamo stranicu ‘https://example.com’.

Nakon što se stranica učita, koristimo page.$() metodu za pronalaženje HTML elementa koji nas zanima. U ovom primjeru, tražimo element s klasom my-element-class. Ova metoda vraća prvi element koji odgovara selektoru.

Da bismo dohvatili tekst iz tog elementa, koristimo page.evaluate() metodu. Ova metoda omogućuje nam izvršavanje JavaScript koda unutar konteksta preglednika. U našem slučaju, proslijedimo funkciju koja prima element kao argument i vraća njegov textContent. Rezultat se sprema u varijablu text.

Na kraju, ispisujemo dohvaćeni tekst u konzolu i zatvaramo preglednik pomoću browser.close().

Ovaj jednostavni primjer pokazuje osnovnu upotrebu Puppeteera za dohvat teksta iz HTML elementa. Međutim, postoji mnogo više što možete učiniti s Puppeteerom. Na primjer, možete koristiti složenije selektore, interagirati s elementima, automatski ispunjavati obrasce ili čak snimati videozapise sesija.

Jedna od prednosti korištenja Puppeteera je što možete simulirati stvarno korisničko ponašanje. To je korisno ne samo za scraping podataka, već i za testiranje vaših web aplikacija. Na primjer, možete provjeriti da li se tekst ispravno prikazuje nakon određenih akcija korisnika, kao što su klikovi ili navigacija između stranica.

Kao dodatak, Puppeteer podržava i rad u headless načinu, što znači da možete pokretati preglednik bez grafičkog sučelja. Ovo je korisno za server-side skripte ili u CI/CD okruženju gdje ne želite otvarati prozore preglednika. Da biste pokrenuli Puppeteer u headless načinu, jednostavno dodajte opciju prilikom pokretanja preglednika:

const browser = await puppeteer.launch({ headless: true });

U zaključku, Puppeteer je moćan alat za automatizaciju preglednika koji vam omogućuje lako dohvaćanje teksta iz HTML elemenata. Bez obzira jeste li programer koji želi testirati web aplikacije ili netko tko želi sakupljati podatke s weba, Puppeteer može biti od velike pomoći.

Was this article helpful?

Related Articles

Leave a Comment