如何使用puppeteer最大化浏览器窗口?

时间:2019-06-11 12:00:06

标签: node.js puppeteer

我正在尝试使用protected void onDraw(Canvas canvas) { super.onDraw(canvas); ... rest of the code stayed the same ... } 最大化浏览器窗口。我尝试了下面的代码,但浏览器未最大化为完整模式。我还没有在puppeteer库中找到任何可用的功能来最大化窗口。

template<typename T>
struct has_bar<T, std::void_t<decltype(&T::Bar)>> : std::true_type
//                                     ^^
{ };

Example image

5 个答案:

答案 0 :(得分:10)

这对我来说很好。

await puppeteer.launch({ headless: false, defaultViewport: null, args: ['--start-maximized'] });

答案 1 :(得分:1)

对我来说,defaultViewport: null

答案 2 :(得分:0)

我希望我在您的代码中看到的错字就是本文中的内容。

Chrome参数作为键#!/usr/bin/env python import requests import os from urllib import * userInputedUrl=input("Enter URL:") directory_list=open("directory.txt",'r') OK="200 OK" Error="404 Error" for item in directory_list: requestParameters=userInputedUrl+"/"+item final=requestParameters.rstrip('\n') response=requests.get(final) if response.status_code == 200: print("\n") print("Found " + item + OK,end='') else: print("\n") print("Not Found " + item + Error,end='') 而不是puppeteer.launch的值传递给args函数。

此外,在您的Chrome配置中,我怀疑标记rgs--start-fullscreen是矛盾的。

最后,您可能会对Chrome标志--window-size感兴趣。

有关Chrome标志的完整列表,请参阅Peter Beverloo的这篇文章。

答案 3 :(得分:0)

请注意,--start-maximized标志doesn't work in a headless mode。然后您必须设置窗口大小,例如像这样:--window-size=1920,1040

您可以在config中定义两个选项。

config.json

{
    "browserOptions": {
        "headless": {
            "headless": true,
            "args": [                
                "--window-size=1920,1040"        
            ],
            "defaultViewport": null
        },
        "gui": {
            "headless": false,
            "args": [                
                "--start-maximized"           
            ],
            "defaultViewport": null
        }
    }
}

,然后根据一个env变量选择要使用的那个-您可以为此实现一个微型模块:

Helpers / browserOption.js

require('dotenv').config();
const config = require('../config.json');

module.exports = {
    browserConfig: () => {
        if (process.env.BROWSER === "headless") {
            return config.browserOptions.headless;
        }

        return config.browserOptions.gui;
    }
};

然后,如果将环境变量BROWSER设置为headless,则将在启动浏览器时设置具体的窗口大小,并且如果选择以非无头模式运行脚本,则{{1 }}将使用arg。

在脚本中,可以这样使用:

--start-maximized

答案 4 :(得分:0)

await page.goto("https://www.google.com")
  await page.setViewport({
  width: 1920,
  height: 1080 ,
  deviceScaleFactor: 1,
});

您错过了deviceScaleFactor https://developer.mozilla.org/en-US/docs/Web/API/Window/devicePixelRatio