-
-
Notifications
You must be signed in to change notification settings - Fork 36
/
puppeteer.rb
90 lines (83 loc) · 2.65 KB
/
puppeteer.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
require 'concurrent'
module Puppeteer; end
require 'puppeteer/env'
# Custom data types.
require 'puppeteer/events'
require 'puppeteer/errors'
require 'puppeteer/geolocation'
require 'puppeteer/viewport'
# Modules
require 'puppeteer/concurrent_ruby_utils'
require 'puppeteer/define_async_method'
require 'puppeteer/debug_print'
require 'puppeteer/event_callbackable'
require 'puppeteer/if_present'
# Classes & values.
require 'puppeteer/aria_query_handler'
require 'puppeteer/browser'
require 'puppeteer/browser_context'
require 'puppeteer/browser_runner'
require 'puppeteer/browser_connector'
require 'puppeteer/cdp_session'
require 'puppeteer/chrome_target_manager'
require 'puppeteer/connection'
require 'puppeteer/console_message'
require 'puppeteer/coverage'
require 'puppeteer/css_coverage'
require 'puppeteer/custom_query_handler'
require 'puppeteer/devices'
require 'puppeteer/dialog'
require 'puppeteer/emulation_manager'
require 'puppeteer/exception_details'
require 'puppeteer/executable_path_finder'
require 'puppeteer/execution_context'
require 'puppeteer/file_chooser'
require 'puppeteer/firefox_target_manager'
require 'puppeteer/frame'
require 'puppeteer/frame_manager'
require 'puppeteer/http_request'
require 'puppeteer/http_response'
require 'puppeteer/isolated_world'
require 'puppeteer/js_coverage'
require 'puppeteer/js_handle'
require 'puppeteer/keyboard'
require 'puppeteer/launcher'
require 'puppeteer/lifecycle_watcher'
require 'puppeteer/mouse'
require 'puppeteer/network_conditions'
require 'puppeteer/network_event_manager'
require 'puppeteer/network_manager'
require 'puppeteer/page'
require 'puppeteer/protocol_stream_reader'
require 'puppeteer/puppeteer'
require 'puppeteer/query_handler_manager'
require 'puppeteer/remote_object'
require 'puppeteer/target'
require 'puppeteer/tracing'
require 'puppeteer/timeout_helper'
require 'puppeteer/timeout_settings'
require 'puppeteer/touch_screen'
require 'puppeteer/version'
require 'puppeteer/wait_task'
require 'puppeteer/web_socket'
require 'puppeteer/web_socket_transport'
# subclasses
require 'puppeteer/element_handle'
# ref: https://github.com/puppeteer/puppeteer/blob/master/lib/Puppeteer.js
module Puppeteer
@puppeteer ||= ::Puppeteer::Puppeteer.new(
project_root: __dir__,
preferred_revision: '706915',
is_puppeteer_core: true,
).tap do |instance|
instance.public_methods(false).each do |method_name|
define_singleton_method(method_name) do |*args, **kwargs, &block|
if kwargs.empty? # for Ruby < 2.7
@puppeteer.public_send(method_name, *args, &block)
else
@puppeteer.public_send(method_name, *args, **kwargs, &block)
end
end
end
end
end