نصائح وأخطاء شائعة
ما يجعل النتائج كاملة وواضحة وسريعة، والأخطاء التي تكلّف أكثر وقت.
الصفحات المبنية بجافاسكربت
العَرَض: مؤشر تحميل، أو تخطيط فارغ، أو رسوم بيانية ناقصة في النتيجة.
- في لقطات الشاشة، استخدم
wait_until=networkidle، أو الأفضلwait_for_selectorمع عنصر يظهر حين تكون الصفحة جاهزة. - في ملفات PDF، عرّف دالة مثل
window.reportReady = () => document.body.dataset.ready === '1'وأرسل"wait_for": "reportReady". - التأخير الثابت
delayيعمل، لكنه يهدر الوقت مع الصفحات السريعة ويقصر مع البطيئة. استخدمه كحل أخير.
الصور المؤجلة التحميل
العَرَض: مربعات رمادية أسفل الصفحة في لقطة full_page. الصور ذات loading="lazy" لا تُحمَّل إلا عند التمرير إليها. في شيفرة HTML الخاصة بك، احذف loading="lazy". وفي المواقع الأخرى، أضف delay قصيرًا أو احقن سكربتًا صغيرًا عبر javascript يمرّر الصفحة.
وحدات delay
تحسب نقطة نهاية PDF قيمة delay بالمللي ثانية (كما في PDFShift)، ونقطة نهاية لقطات الشاشة بالثواني (كما في ScreenshotOne). فالقيمة "delay": 2 في نقطة نهاية PDF تنتظر مللي ثانيتين فقط.
فواصل الصفحات
.no-split { break-inside: avoid; } /* keep a block on one page */
.new-page { break-before: page; } /* start a new page */
h2 { break-after: avoid; } /* keep a heading with its text */
يأتي مقاس الصفحة من المعامل format؛ وتُتجاهَل قاعدة @page { size: ... } في CSS. وتنطبق الهوامش من margin على كل صفحة.
الخلفيات والألوان
تُطبع الخلفيات افتراضيًا. إذا بدت الألوان باهتة، فتحقق من قواعد @media print في CSS لديك؛ فهي لا تنطبق إلا مع use_print: true. استخدم -webkit-print-color-adjust: exact على العناصر التي يجب أن يبقى لونها دقيقًا.
لقطات شاشة حادة
القيمة device_scale_factor=2 تضاعف الدقة للشاشات عالية الكثافة وللتكبير. استخدم jpeg أو webp مع image_quality بين 75 و 85 للصور والصفحات الطويلة، و png للنصوص والرسوم البيانية والشفافية.
طلبات أصغر وأسرع
- احجب ما لا تحتاج إليه: كثيرًا ما توفر
block_adsوblock_trackersوblock_chatsعدة ثوانٍ من زمن الصفحة. - اربط الصور الكبيرة بعناوينها بدلًا من تضمينها بـ base64؛ فجسم الطلب محدود بـ 10 ميغابايت.
- أعد استخدام اتصال HTTP واحد لطلبات كثيرة (الإبقاء على الاتصال مفعّل افتراضيًا في العملاء الواردين في الأمثلة).
- أرسل الدفعات بضعة طلبات في كل مرة، لا المئات دفعة واحدة؛ راجع التزامن.
أشياء تفشل بصمت
- الروابط النسبية في مصدر HTML لا شيء تُحلّ بالنسبة إليه. استخدم عناوين مطلقة أو وسم
<base href>. - الروابط إلى
localhostأو العناوين الداخلية محجوبة لأسباب أمنية. اجعل المورد عامًا أو ضمّنه. - الخطوط من شبكة توصيل بطيئة تؤخر كل عملية إنشاء؛ الخيارات المثبتة مسبقًا مذكورة في المستندات العربية.
- حفظ الخطأ كملف: تحقّق من رمز الحالة أولًا؛ فالأخطاء JSON.
احتفظ بنسختك
لا تخزّن صحيفة النتائج، فلا تستطيع إرسال الملف مرة أخرى لاحقًا. إن احتجت إلى المستند فيما بعد (فاتورة أو سجل توثيق لتاجر)، فخزّنه لديك عند وصول الاستجابة، مع وقت الطلب ومعاملاته.