javascript - Puppeteer: Jednostavniji način za rukovanje stranicama kreiranim klikom na a[target="_blank"]; čekanje učitavanja i uključivanje vremenskih ograničenja

Pregled

Tražim jednostavniji način za rukovanje klikovima na poveznice koje otvaraju nove stranice (poput anchor tagova s target="_blank").

Ovdje 'handle' znači:

javascript - kako pokrenuti puppeteer s već postojećim profilom više puta

Dakle, pokušavam pokrenuti Puppeteer s već postojećim Chrome profilom i to radi, ali ono što želim učiniti je pokrenuti isti proces više puta što izaziva grešku

(node:12820) Upozorenje: Nerešeno odbacivanje obećanja: Greška: Neuspjelo pokretanje procesa p

Čitaj više →

javascript - Puppeteer - "Zahtjev glavnog okvira preuranjen!"

Kreirao sam funkciju koristeći Puppeteer koja provjerava je li korisnik prijavljen. U osnovi, prvo provjerava je li preglednik i stranica otvorena, a zatim traži selektor i ovisno o tome je li predmet pronađen, vraća true/false.

export async function checkIfUserIsLoggedIn() { const logger = getLogger('checkIfUserIsLoggedIn()'); try { if (!page || !browser) { logger.info('page or browser is not open'); return false; } logger.info('page or browser i

Čitaj više →

javascript - Kako koristiti Jest/Puppeteer da se čeka dok element ne bude uklonjen iz DOM-a

Sažetak problema: Pišem nekoliko testnih setova (koristeći Jest i Puppeteer) kako bih automatizirao testove početne stranice moje AngularJS aplikacije. Jedan od testova koji bih želio automatizirati je kada korisnik pritisne gumb na stran

Čitaj više →

javascript - Puppeteer lista korisničkih agenata preglednika

Želio bih učitati nasumičnu listu user-agents s moje zadane lokacije, na primjer: 'agents.json', umjesto da dodajem izravno samo 1 user-agent.

agents.json

["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36", "Mozilla/5.0 (X11; Linu

Čitaj više →

javascript - Proslijedi klasu kao argument funkciji page.evaluate u Puppeteeru

U Puppeteeru, page.evaluate baca pogrešku ako proslijedim klasu kao argument.

Međutim, radi za obične predmete.

Postoji li neki zaobilazni način da to uspije?

const puppeteer = require("puppeteer"); (async () => { let browser = await puppeteer

Čitaj više →

node.js - Kako koristiti TypeScript deklaracije s puppeteer exposeFunction i webpack

Koristim puppeteer i webpack u kombinaciji za jedan projekt. Svoje datoteke kompajliram u jedan bundle, a zatim pomoću metode addScriptTag u puppeteeru dodajem tu datoteku u preglednik. Osim toga, koristim funkcionalnost exposeFunction kako bih mogao slati/prim

Čitaj više →

javascript - puppeteer: kako presresti blob zahtjev?

Postojao je odgovor o tome kako riješiti preuzimanje blob-a, link je sljedeći. Kako presresti preuzimanja blob-a generiranog na strani klijenta web stranice putem puppeteera?

Ali želim presresti te zahtjeve čiji je inicijator bio skripta u pregledniku. Čini se da je taj zahtjev tipa blob. Slika je sljedeća:

Prateći gornj

Čitaj više →

javascript - puppeteer: Kako presresti zahtjev ServiceWorker/WebWorker?

Postoje neka stara rješenja za riješiti ovo pitanje, jedno je na GitHubu, drugo je na StackOverflowu.

puppeteer ima _client svojstvo u nižoj verziji. Rješenje u nižoj verziji je sljedeće:

page._client.send('Network.setBypassServiceWorker', {bypass: tr

Čitaj više →

Kako riješiti TypeScript grešku u Puppeteer eval?

Imam jednostavan Puppeteer skript:

export async function inspectWebpage(source) { const b = await getBrowser() const p = await b.newPage() await p.goto(path) const script = fs.readFileSync( 'host/code/node/puppeteer/crawl.js', 'utf-8', ) await p.evaluate(script) let data = await p.evaluate(() => task.getWebpageData()) await b.close() return data }

Vidim ovo svaki put kad ga koristim i želio bih se toga riješiti.

Cannot f

Čitaj više →