node.js - כיצד להשתמש בהצהרות TypeScript עם puppeteer exposeFunction ו-webpack

אני משתמש ב-puppeteer וב-webpack בשילוב עבור פרויקט. אני מקמפל את הקבצים שלי לקובץ אחד, ואז בעזרת המתודה addScriptTag ב-puppeteer, מוסיף את הקובץ הזה לדפדפן. בנוסף, אני משתמש בפונקציונליות exposeFunction כך שאוכל לשלוח/לקבל נתונים מהדפדפן ל-nodejs, יותר ספציפית

קרא עוד →

javascript - puppeteer: איך ליירט בקשת blob?

היה תשובה לגבי איך לפתור הורדת blob, הקישור כדלקמן. איך לעצור הורדות של blob שנוצר בצד הלקוח של האתר דרך puppeteer?

אבל אני רוצה ליירט את הבקשות האלה שהיוזם שלהן היה סקריפט בדפדפן. נראה שהבקשה הזו היא מסוג blob. התמונה כדלקמן:

כאשר עוקבים אחרי הדוגמה שלמעלה, הבקשה של ה-blob לא נלכדה, אז איך אני תופס את הבקשה הזו?

ה

קרא עוד →

javascript - puppeteer: איך לנתב בקשת ServiceWorker/WebWorker?

יש כמה פתרונות ישנים לפתרון השאלה הזו, אחד מהם בגיטהאב, והשני ב-StackOverflow.

puppeteer יש לו את המאפיין _client בגרסה נמוכה יותר. הפתרון בגרסה נמוכה הוא כדלקמן:

page._client.send('Network.setBypassServiceWorker', {bypass: true})

גרסת

קרא עוד →

איך להיפטר משגיאת TypeScript ב-Puppeteer eval?

יש לי סקריפט פופית'ר פשוט:

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 }

אני רואה את זה בכל פעם שאני משתמש בזה, ורוצה להיפטר ממנו.

Cannot find name 'task'.

קרא עוד →

javascript - Puppeteer Typescript: נכשל עם שגיאות בעת טרנספילציה

מקור הבעיה: אני לא יכול להשתמש ב-Javascript כמות שהוא כי גרסת Node.Js של Firebase Functions עדיין לא תומכת ב-Async/Await. אז הנחתי את זה ב-Typescript ועכשיו מנסים להמיר ל-commonJs.

אז אני עושה.

tsc -p config.json, שמפיקה לאחר מכן את השגיאות הללו.

../../../node_m

קרא עוד →

TypeScript - גלילה עם חץ למטה ב-Puppeteer

אז אני עובד על תכונה באפליקציה שלי שמבטלת גלילה על ידי מקש החץ בגוף כשהתפריט פתוח, ומשאירה את ההתנהגות כפי שהיא אחרת.

אני מנסה לבדוק את ההתנהגות הזו ב-Puppeteer, אבל אני לא מצליח לגרום לחלון לגלול כאשר אני לוחץ על החץ למטה. הנה כמה דוגמאות למה שאני עושה הן במימוש והן בבדיקות שלי:

const disableArrowScroll = (event:

קרא עוד →

TypeScript - איך לנהל את ערך ה-mat-slider באמצעות Puppeteer

אני מנסה לשנות את ערך ה-mat-slider באופן תכנותי עם puppeteer אבל אני לא מצליח לגרום לזה לעבוד.

זה מה שניסיתי:

async function changeSliderValue(page:Page){ try { const thumb = await page.$('.mat-slider-thumb'); const position = await thumb.boundingBox(); await page

קרא עוד →

typescript - deno puppeteer 'כרום לא נמצא' מנסה לייבא תלות של npm

אני מנסה להשתמש ב-node-html-to-image ב-deno:

import nodeHtmlToImage from "npm:node-html-to-image"; nodeHtmlToImage({ output: './image.png', html: '<html><body>Hello world!</body></html>' }) .then(() => console.log('The image was created successfully!'))

deno run --allow-env --allow-read --allow-write that-file.ts גורם לשגיאה זו:

error: Uncaught Error: Unable to launch browser, err

קרא עוד →

javascript - Puppeteer עם TypeScript לא עובד עם esModuleInterop

אם אני מנסה להשתמש ב-Puppeteer עם TypeScript ו-esModuleInterop=true מוגדר ב-tsconfig.json אני מקבל שגיאה שאומרת

puppeteer.launch איננה פונקציה

אם אני מנסה לייבא את Puppeteer עם

import * as puppeteer from "puppeteer";

עכש

קרא עוד →

javascript - איך לשנות כותרות בקשה באמצעות Puppeteer ו-Protocole של Chrome DevTools? (אולי בעיה בסינטקס של JS)

יש לי את הפונקציה הבאה ב-TypeScript שמניחה שדפדפן Chrome כבר הופעל באמצעות Puppeteer. את התיעוד עבור פונקציות Fetch שבהן משתמשים למטה ניתן למצוא כאן.

async function modify(client: CDPSession) { client.on('Fetch.requestPaused', async ({ request

קרא עוד →