如何将木偶添加到木偶操作员的Flash白名单中

时间:2018-04-24 18:50:10

标签: node.js chromium puppeteer

我在Node.js中使用puppeteer开发小型爬虫。 目标网站有Flash内容,所以我想在puppeteer中启用Flash。

默认情况下,puppeteer无法使用Flash,并且允许网站的白名单为空。 我知道如何在木偶戏中启用Flash,但我不知道如何设置白名单。

怎么做? 有这样的旗帜吗?

const browser = await puppeteer.launch({
        headless: false,
        args: [
            '--ppapi-flash-path = {FLASH_PATH}',
            '--white-url = {TARGET_URL}'
        ]
    });

或者,它是否只是在浏览器中设置页面中操作DOM的唯一方法(ex.chrome://settings/content/flash)?

2 个答案:

答案 0 :(得分:0)

我自己解决了这个问题。 我找不到Flash白名单的标志和操纵chrome的设置页面的DOM对我来说太累了,但我得到了一些有用的参数。

<强> 1。 'userDataDir:{PROFILE_FILE}'

首先,手动启动chrome或chromium,并将url添加到列表中。 然后,将PROFILE_FILE设置为其用户数据路径。

<强> 2。 executablePath:'{PATH_TO_CHROME}'

基本上,运行chrome而不是chrome,默认情况下我们可以使用Flash和HLS等。 手动设置白名单,它可以正常工作。

答案 1 :(得分:0)

经过多次修补后,我找到了一个首选项文件配置,默认情况下将所有Flash内容列入白名单。

我已经a small puppeteer wrapper使用这个非常简单:puppeteer.setExtra({allowFlash: true})

&#13;
&#13;
{
  "profile": {
    "content_settings": {
      "exceptions": {
        "flash_data": {
          "*,*": {
            "setting": {
              "flashPreviouslyChanged": true
            }
          }
        },
        "permission_autoblocking_data": {
          "*,*": {
            "setting": {
              "Flash": {
                "dismiss_count": 1
              }
            }
          }
        },
        "plugins": {
          "*,*": {
            "per_resource": {
              "adobe-flash-player": 1
            }
          }
        }
      },
      "pref_version": 1
    }
  }
}
&#13;
&#13;
&#13;