javascript - headless Chrome/Puppeteer 窗口大小与 setViewport

标签 javascript node.js google-chrome puppeteer

做一些网络爬虫。

有人可以向我解释一下,如果有的话,有什么区别:

  • 实例化 headless 镶边时使用窗口大小参数:
  • --window-size=${width},${height}
    对比
  • 设置视口(viewport)
  • page.setViewport({width,height});
    --

    我想知道使用第一种方法是否比第二种方法有任何优势。

    例如,在主持人看来,如果我使用半随机宽度/高度(即从合理值列表中选择),第一个是否会像选择随机用户代理一样为我提供任何熵优势?

    第二种方法,“setViewport”方法,它只是一个客户端的东西,用于在想要获取屏幕截图的情况下呈现实际页面?或者,它是否也向主机通知/提供关于性质的足够信息我的虚拟计算机分辨率...

    非常感谢。

    NH

    最佳答案

    你可以考虑--window-size=${width},${height}作为初始视口(viewport)。
    setViewport 的好处是您可以多次更改视口(viewport)。它还覆盖窗口大小。例如,在这张图片中,您可以看到视口(viewport)设置为 800x800,无论窗口大小如何,它都不会改变。

    enter image description here

    我认为 setViewport会给你更多的灵 active ,我会考虑更稳定,因为它保证你设置的值会被兑现。

    关于javascript - headless Chrome/Puppeteer 窗口大小与 setViewport,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58828729/

    相关文章:

    jquery - 在 node.js 中使用 JQuery 时出错

    node.js - Node : Distinguish between a reload event and a browser exit with socket event

    google-chrome - 如何让 Chromium 发送新的 WebSocket 握手?

    javascript - 无法在一次运行中删除多个数组元素

    javascript - 为什么这个js数组函数不起作用?

    javascript - js中静态函数中传递对象作为参数

    JavaScript:当范围已经允许访问时,为什么 checkLeaf 需要参数?

    javascript - React-router:从路由器监听事件获取参数失败

    javascript - 如何对 node-cron 作业进行单元测试

    javascript - 如何将数据(以uri格式)从浏览器拖到其他应用程序