изменить размер браузера с кукловодом

1

Можно ли изменить размер окна браузера с помощью кукловода? Я знаю, что есть page.setViewport, но есть ли что-то вроде browser.setViewport? Может быть, это звучит так, как будто нет никакой разницы, если вы используете версию без головок, но может быть полезно, если вы на самом деле показываете окно, я бы хотел сделать что-то вроде этого:

const puppeteer = require("puppeteer");

(async () => {
let browser = await puppeteer.launch({
    headless: false
});
await browser.setViewport({
    width: 100,
    height: 100,
});
})();
Теги:
puppeteer

3 ответа

2

То, что я нашел, работает для установки размера браузера (но не размера видового экрана), чтобы установить следующий переключатель командной строки chrome при запуске кукольника:

await puppeteer.launch({
  headless: false,
  args: [
    '--window-size=X,Y'
  ]
});

Все, что вам нужно сделать, это заменить любые настройки разрешения, которые вы хотите использовать в коде вместо X (ширина) и Y (высота).

Обновить:
С тех пор я обнаружил следующую проблему, в которой кто-то, скорее, resizeWindow(), предоставил собственную resizeWindow() которая, по-видимому, делает то, что вам нужно. Я не пробовал, поэтому не могу ручаться за то, работает ли это или нет, но, возможно, стоит попробовать!

https://github.com/Codeception/CodeceptJS/issues/973

  • 0
    Это достаточно для моих текущих потребностей, но было бы неплохо иметь возможность программно манипулировать размером окна после запуска браузера. Я думаю, что это пока не поддерживается.
  • 0
    Это не встроенная функция, к сожалению. Я добавил ссылку на свой оригинальный ответ, в которой кто-то предоставляет свою собственную resizeWindow() которая, по-видимому, делает именно это. Лично я не пробовал, но вам может быть интересно!
0

Я смог изменить размер браузера, установив точку обзора, когда я запускаю браузер как таковой:

const puppeteer = require('puppeteer');

(async () => {
    const browser = await puppeteer.launch({headless: false, defaultViewport: {width:1200,height:600}});
    const page = await browser.newPage();
    await page.goto('http://howbigismybrowser.com/');
})();
0

Короткий ответ: Нет, вы не можете изменять размер

Это все, что вы можете сделать в browser:

  • browser.browserContexts()
  • browser.close()
  • browser.createIncognitoBrowserContext()
  • browser.disconnect()
  • browser.newPage()
  • browser.pages()
  • browser.process()
  • browser.targets()
  • browser.userAgent()
  • browser.version()
  • browser.wsEndpoint()

И он испускает эти события:

  • событие: 'disconnected'
  • событие: 'targetchanged'
  • event: 'targetcreated'
  • событие: 'targetdestroyed'

Изменение размера не входит в список. Возможно, вы можете попробовать создать запрос функции.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню