كيف يمكنني تضمين تفاصيل الجهاز المحمول في الرؤوس عند تقديم طلب؟

2

أستخدم puppeteer لتقديم طلب إلى صفحة ويب وحاولت تعيين منفذ العرض على الجهاز المحمول على النحو التالي:

await page.setViewport({ width: 350, height: 700});

ومع ذلك ، هذا لا يعطيني موقع الجوال وبدلاً من ذلك تتم إعادة توجيهي إلى موقع إطار عرض سطح المكتب. عند استخدام أدوات مطوري Chrome وقمت بضبطه على منفذ عرض iphone ، يمكنني الحصول على نسخة الجوال من الموقع.

هل هناك بعض الرؤوس التي يجب أن أرسلها مع طلب العمر في الدمى للتأكد من عدم إعادة توجيهي؟

2 الاجابة

4
افضل جواب

قد تحتاج إلى تضمين isMobile: true في خيارات منفذ العرض ( page.setViewport() ) وتعيين وكيل المستخدم ( page.setUserAgent() ) لمطابقة جهاز محمول معين. يوفر Puppeteer طريقة مريحة للقيام بها معًا تلقائيًا page.emulate() .

مثال:

const puppeteer = require('puppeteer');
const devices = require('puppeteer/DeviceDescriptors');
const iPhone = devices['iPhone 6'];

puppeteer.launch().then(async browser => {
  const page = await browser.newPage();
  await page.emulate(iPhone);
  await page.goto('https://www.google.com');
  // other actions...
  await browser.close();
});

تجريبي

:مؤلف
2
افضل جواب

يمكنك تشغيل Chrome باستخدام وكيل مستخدم مخصص على النحو التالي:

const browser = await puppeteer.launch({
    headless: false,
    args: ['--user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 10_0_1 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/14A403 Safari/602.1'],
  });
:مؤلف
فوق
قائمة طعام