Chrome DevTools协议:切换'有效'帧

时间:2017-06-28 07:21:12

标签: node.js google-chrome selenium google-chrome-devtools nightwatch.js

我使用的是Chrome Headless和chrome-remote-interface npm 套餐

const chromeLauncher = require('chrome-launcher')
const CDP = require('chrome-remote-interface')
const fs = require('fs')

async function launchChrome() {
  return chromeLauncher.launch({
    port: 9222,
    chromeFlags: ['--disable-gpu', '--headless']
  })
}

(async function () {
    const chrome = await launchChrome()
    const client = await CDP({port: 9222})
    const {Page} = client
    await Page.enable()
    await Page.navigate({url: 'http://...'})
    await Page.loadEventFired()
    const {data} = await Page.captureScreenshot()
    fs.writeFileSync('screenshot.png', Buffer.from(data, 'base64'))
    await protocol.close()
    await chrome.kill()
})()

但我加载的页面包含 iframe ,我想在其中执行一些操作(点击某些元素或通过 DOM访问它们.querySelector )在拍摄截图之前。

是否可以切换当前'活动'以某种方式通过Chrome DevTools协议框架?就像在Nightwatch.js / Selenium中可能的那样:browser.frame(frameIndex)

0 个答案:

没有答案