Module: Ferrum::Page::Screencast
- Included in:
- Ferrum::Page
- Defined in:
- lib/ferrum/page/screencast.rb
Constant Summary collapse
- START_SCREENCAST_KEY_CONV =
{ max_width: :maxWidth, max_height: :maxHeight, every_nth_frame: :everyNthFrame }.freeze
Instance Method Summary collapse
-
#start_screencast(**opts) {|data, metadata, session_id| ... } ⇒ Object
Starts sending frames to record screencast to the given block.
-
#stop_screencast ⇒ Object
Stops sending frames.
Instance Method Details
#start_screencast(**opts) {|data, metadata, session_id| ... } ⇒ Object
Starts sending frames to record screencast to the given block.
73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/ferrum/page/screencast.rb', line 73 def start_screencast(**opts) = opts.transform_keys { START_SCREENCAST_KEY_CONV.fetch(_1, _1) } response = command("Page.startScreencast", **) if (error_text = response["errorText"]) # https://cs.chromium.org/chromium/src/net/base/net_error_list.h raise "Starting screencast failed (#{error_text})" end on("Page.screencastFrame") do |params| data, , session_id = params.values_at("data", "metadata", "sessionId") command("Page.screencastFrameAck", sessionId: session_id) yield data, , session_id end end |
#stop_screencast ⇒ Object
Stops sending frames.
91 92 93 |
# File 'lib/ferrum/page/screencast.rb', line 91 def stop_screencast command("Page.stopScreencast") end |