Sha256: b29980c439ed51ba6a5d129d4989c070fa447ad907d3f602a70f7100582c58a5

Contents?: true

Size: 1.1 KB

Versions: 41

Compression:

Stored size: 1.1 KB

Contents

module Perus::Pinger
    class ChromeExecute < ChromeCommand
        description 'Executes JavaScript in the top Chrome window. The result
                     of the execution is stored and sent to the server.'
        option :js

        def run
            result = false
            command = '{"id":1,"method":"Runtime.evaluate","params":{"expression":"' + options.js.gsub('"', '\\"') + '","objectGroup":"perus","returnByValue":true}}'
            
            execute([command]) do |message|
                if message.include?('id') && message['id'] == 1
                    if message.include?('result')
                        result = message['result'].to_s
                    elsif message.include?('error')
                        result = message['error'].to_s
                    else
                        result = false
                    end

                    # clean up any memory used by the executed command
                    send_command('{"id":2,"method":"Runtime.releaseObjectGroup","params":{"objectGroup":"perus"}}')
                end
            end

            result
        end
    end
end

Version data entries

41 entries across 41 versions & 1 rubygems

Version Path
perus-1.0.7 lib/perus/pinger/commands/chrome_execute.rb
perus-1.0.6 lib/perus/pinger/commands/chrome_execute.rb
perus-1.0.5 lib/perus/pinger/commands/chrome_execute.rb
perus-1.0.4 lib/perus/pinger/commands/chrome_execute.rb
perus-1.0.3 lib/perus/pinger/commands/chrome_execute.rb
perus-1.0.2 lib/perus/pinger/commands/chrome_execute.rb
perus-1.0.1 lib/perus/pinger/commands/chrome_execute.rb
perus-1.0.0 lib/perus/pinger/commands/chrome_execute.rb
perus-0.1.35 lib/perus/pinger/commands/chrome_execute.rb
perus-0.1.34 lib/perus/pinger/commands/chrome_execute.rb
perus-0.1.33 lib/perus/pinger/commands/chrome_execute.rb
perus-0.1.32 lib/perus/pinger/commands/chrome_execute.rb
perus-0.1.31 lib/perus/pinger/commands/chrome_execute.rb
perus-0.1.30 lib/perus/pinger/commands/chrome_execute.rb
perus-0.1.29 lib/perus/pinger/commands/chrome_execute.rb
perus-0.1.28 lib/perus/pinger/commands/chrome_execute.rb
perus-0.1.27 lib/perus/pinger/commands/chrome_execute.rb
perus-0.1.26 lib/perus/pinger/commands/chrome_execute.rb
perus-0.1.25 lib/perus/pinger/commands/chrome_execute.rb
perus-0.1.24 lib/perus/pinger/commands/chrome_execute.rb